Python概率建模算法和图示

要点

  1. Python朴素贝叶斯分类器解释概率学习示例
  2. Python概率论,衡量一个或多个变量相互依赖性,从数据中学习概率模型参数,贝叶斯决策论,信息论,线性代数和优化
  3. Python线性判别分析分类模型,逻辑回归,线性回归,广义线性模型
  4. Python结构化数据,图像和序列神经网络

朴素贝叶斯分类器示例概率学习

在机器学习的广阔领域中,概率学习开辟了自己独特的空间。 在统计和概率的驱动下,概率学习侧重于对数据中存在的不确定性进行建模。 它提供了一个视角,强调大多数数据源固有的潜在随机性和可变性。

概率学习模型与确定性模型的不同之处在于,它们提供的预测是一组结果的概率分布,而不是单个确定的输出。 这种细致入微的方法具有巨大的价值,特别是在面临可用信息不完整、有噪音或不确定的情况时。

在本段,我们将全面了解概率学习的概念,探索其关键算法,然后通过朴素贝叶斯分类器的 Python 实践示例说明其实现。

概率学习是机器学习的一个子领域,其中算法根据可能结果的概率分布进行预测,而不是精确指出单个最可能的结果。 它提供了从决定论到不确定性的根本转变,一种更适合世界复杂而嘈杂的现实的观点。

想象一个场景,我们有一个患者数据集,我们想要预测他们是否患有某种特定疾病。 在确定性学习方法中,我们可以构建一个决策树,根据各种症状预测“是”或“否”。 然而,疾病和症状很少是二元的——没有症状并不一定意味着一个人没有疾病,而有症状并不能保证一定有病。

相反,概率学习模型将输出可能结果的概率分布。 例如,它可能会说这个人有 70% 的可能性患有这种疾病,而有 30% 的可能性没有。 这种概率输出为数据和预测提供了更丰富的视角,提供了模型不确定性的量化。

概率学习模型特点:

  1. 概率模型优雅地处理不确定性
  2. 概率预测可以提供更多信息
  3. 概率模型允许更丰富的模型比较

朴素贝叶斯分类器:

朴素贝叶斯分类器是基于贝叶斯定理的最直接、最强大的分类算法之一,并假设预测变量之间独立。 该模型易于构建,对于大型数据集特别有用。 尽管朴素贝叶斯很简单,但其性能优于更复杂的分类方法。 让我们使用 Python 从头开始创建一个朴素贝叶斯分类器,以便更好地理解其内部机制。

import numpy as np
import pandas as pd# Set a seed so that the results are reproducible
np.random.seed(0)# Number of samples per class
n_samples = 500# Generate synthetic heights
male_heights = np.random.normal(5.855, 0.2, n_samples)
female_heights = np.random.normal(5.4175, 0.2, n_samples)# Generate synthetic weights
male_weights = np.random.normal(176.25, 20, n_samples)
female_weights = np.random.normal(132.5, 20, n_samples)# Generate synthetic foot sizes
male_foot_sizes = np.random.normal(11.25, 1, n_samples)
female_foot_sizes = np.random.normal(7.5, 1, n_samples)# Create dataframes for each gender
male_df = pd.DataFrame({'Height': male_heights,'Weight': male_weights,'Foot_Size': male_foot_sizes,'Gender': 'male'
})female_df = pd.DataFrame({'Height': female_heights,'Weight': female_weights,'Foot_Size': female_foot_sizes,'Gender': 'female'
})# Means for male
male_height_mean = data_means['Height'][data_variance.index == 'male'].values[0]
male_weight_mean = data_means['Weight'][data_variance.index == 'male'].values[0]
male_footsize_mean = data_means['Foot_Size'][data_variance.index == 'male'].values[0]# Variance for male
male_height_variance = data_variance['Height'][data_variance.index == 'male'].values[0]
male_weight_variance = data_variance['Weight'][data_variance.index == 'male'].values[0]
male_footsize_variance = data_variance['Foot_Size'][data_variance.index == 'male'].values[0]# Means for female
female_height_mean = data_means['Height'][data_variance.index == 'female'].values[0]
female_weight_mean = data_means['Weight'][data_variance.index == 'female'].values[0]
female_footsize_mean = data_means['Foot_Size'][data_variance.index == 'female'].values[0]# Variance for female
female_height_variance = data_variance['Height'][data_variance.index == 'female'].values[0]
female_weight_variance = data_variance['Weight'][data_variance.index == 'female'].values[0]
female_footsize_variance = data_variance['Foot_Size'][data_variance.index == 'female'].values[0]

输出:
Height_Mean  Weight_Mean  Foot_Size_Mean  Height_Variance  Weight_Variance  Foot_Size_Variance  male  5.84993 176.834 11.2206 0.0399325 373.367 0.938527 female  5.40447 132.461 7.42694 0.0381307 377.808 0.884844 \begin{array}{|c|c|c|c|c|c|c|} \hline & \text { Height\_Mean } & \text { Weight\_Mean } & \text { Foot\_Size\_Mean } & \text { Height\_Variance } & \text { Weight\_Variance } & \text { Foot\_Size\_Variance } \\ \hline \text { male } & 5.84993 & 176.834 & 11.2206 & 0.0399325 & 373.367 & 0.938527 \\ \hline \text { female } & 5.40447 & 132.461 & 7.42694 & 0.0381307 & 377.808 & 0.884844 \\ \hline \end{array}  male  female  Height_Mean 5.849935.40447 Weight_Mean 176.834132.461 Foot_Size_Mean 11.22067.42694 Height_Variance 0.03993250.0381307 Weight_Variance 373.367377.808 Foot_Size_Variance 0.9385270.884844
提供的表格包含根据我们创建的每类 500 个条目的数据集,从男性和女性群体中计算出的三个特征的统计数据(均值和方差):身高、体重和脚尺寸。

应用贝叶斯定理

概率模型

**单变量模型:**随机变量、贝叶斯规则、伯努利分布和二项分布、分类分布和多项分布、单变量高斯(正态)分布、一些其他常见的单变量分布、随机变量的变换

**多变量模型:**多个随机变量的联合分布、多元高斯(正态)分布 线性高斯系统、指数族、混合模型、概率图模型

**统计:**最大似然估计 (MLE) 、经验风险最小化 (ERM)、其他估计方法、正则化、贝叶斯统计、频率统计

**决策论:**贝叶斯决策理论、选择“正确”模型、频率派决策理论、经验风险最小化 、频率派假设检验

**信息论:**熵、相对熵(KL 散度)、互信息

**线性代数:**矩阵乘法、矩阵求逆、特征值分解 (EVD) 、奇异值分解 (SVD)、其他矩阵分解、求解线性方程组、矩阵微积分

优化: 一阶方法、二阶方法、随机梯度下降、约束优化、近端梯度法、有界优化、黑盒和无导数优化

线性模型

**线性判别分析:**高斯判别分析,朴素贝叶斯分类器,生成分类器与判别分类器

**逻辑回归:**二元逻辑回归,多项逻辑回归,稳健逻辑回归,贝叶斯逻辑回归

**线性回归:**最小二乘线性回归 , 岭回归 , Lasso 回归 , 回归样条 , 稳健线性回归, 贝叶斯线性回归

**广义线性模型:**具有非规范链接函数的 GLM 示例,最大似然估计,示例:预测保险索赔

深度神经网络

结构化数据的神经网络: 多层感知器 (MLP) , 反向传播 , 训练神经网络 , 正则化 , 其他类型的前馈网络

**图像神经网络:**通用层 , 图像分类的通用架构 , 其他形式的卷积 , 使用 CNN 解决其他判别性视觉任务, 通过反转 CNN 生成图像

**序列神经网络:**循环神经网络 (RNN) , 1d CNN , 注意力 , 变换器 , 高效变换器 , 语言模型和无监督表示学习

无参数模型

**基于样本的方法:**K 最近邻 (KNN) 分类 , 学习距离度量 , 核密度估计 (KDE)

**核方法:**Mercer 核 , 高斯过程 , 支持向量机 (SVM) , 稀疏向量机

**树、森林、Bagging 和 Boosting:**分类和回归树 (CART) , 集成学习 Bagging 随机森林 , Boosting , 解释树集成

参阅一:亚图跨际
参阅二:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/675830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于LightGBM的回归任务案例

在本文中,我们将学习先进的机器学习模型之一:Lightgbm。在对XGB模型进行了越来越多的改进以获得更好的性能之后,XGBoost是一种极限梯度提升机器,但通过lightgbm,我们可以在没有太多计算的情况下实现类似或更好的结果&a…

【QT+QGIS跨平台编译】之三十:【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、NetCDF介绍二、文件下载三、文件分析四、pro文件4.1 netcdf34.2 netcdf44.3 netcdf五、编译实践一、NetCDF介绍 NetCDF(Network Common Data Form)是一种用于存储和处理科学数据的文件格式和库。它提供了一种自描述、可移植和可扩展的方式来组织多维数据,并支…

动态更改 Spring 定时任务 Cron 表达式的优雅方案

1.接受说明 在 SpringBoot 项目中,我们可以通过@EnableScheduling注解开启调度任务支持,并通@Scheduled注解快速地建立一系列定时任务。 最常用的应该是第一种方式,基于Cron表达式的执行模式,因其相对来说更加灵活。 @Scheduled支持下面三种配置执行时间的方式: 1.cron(e…

力扣热题100_双指针_283_移动零

文章目录 题目链接解题思路解题代码 题目链接 283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,…

vscode debug无法直接查看eigen变量的问题(解决方法)

主要是给gdb添加一个Eigen相关的printer即可, 网上其他教程都搞太复杂了, 我整理成了一个仓库, 把仓库克隆下来直接运行 ./setup.sh脚本即可配置好 git clone gitgithub.com:fandesfyf/EigenGdb.git cd EigenGdb ./setup.sh 然后在vscode中重新debug即可。 效果 …

MySQL存储引擎、事务、锁、日志

存储引擎 概述 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存…

linux驱动工作原理

linux或者windows驱动是如何对上和对下工作的,请用中文回答 在Linux系统中,设备驱动程序通过在/dev目录下创建文件系统条目与硬件通信。应用程序通过打开这些文件来获取描述符,以此来与设备交互。驱动程序内部使用主次设备号来标识设备。而在…

使用Arcgis裁剪

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、掩膜提取二、随意裁剪三、裁剪 前言 因为从网站下载的是全球气候数据,而我们需要截取成中国部分,需要用到Arcgis的裁剪工具 一、掩…

对比 elasticsearch 和 mysql

https://www.cnblogs.com/darcy-yuan/category/2257608.html 最近阅读了elasticsearch的官方文档,学习了它的很多特性,发现elasticsearch和mysql有很多地方类似,也有很多地方不同。这里做一个对比,帮助大家加深对elasticsearch…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Slider组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Slider组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Slider组件 滑动条组件,通常用于快速调节设置值,如音量调…

响应式编程详解(持续更新)

响应式编程 1.多维度看全景1.1响应式编程(Reactive Programming )1.2函数式编程(Functional Programming, 简称FP)1.3技术演进1.4Rx是什么1.5[响应式宣言](https://www.reactivemanifesto.org/zh-CN) 2.钻进去看本质2.1名称解释(rajava)2.2观察者模式2.3…

HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘

最近在通过HLS实现一些算法,其中用到了hls::cos函数,写完代码编译报错: ../Vitis_HLS/hls_cordic_apfixed.h:229: undefined reference to cordic_apfixed::circ_table_arctan_128 build/xf_computePhaseMap_accel.o: In function void cord…

注解(Java用于工具处理的标注)

一. 使用注解 1. 含义 注解是放在类,方法,字段,参数前的一种特殊“注释”,是一种用作标注的“元数据”。 2. 三类注解 1)由编译器使用的注解,不会编译进.class文件,编译后扔掉;如&…

c实现链表

目录 c实现链表 链表的结构定义: 链表的结构操作: 1、初始化链表 2、销毁链表 3、插入结点 4、输出链表数据 5、查找链表数据 扩展 代码实现 c实现链表 链表的结构定义: /*** 链表结构定义 ***/ typedef struct Node {int data; //…

TCP和UDP相关问题(重点)——6.TCP是如何保证传输的可靠性的?

基于数据块传输:应用数据被分割为合适的数据块发送,并且标记序列号,有了序列号就能将接收到的数据根据序列号进行排序。 校验和:TCP将保持首部和数据的校验和,会检测数据在传输过程中的任何变化,如果校验和…

MPLS VPN功能组件(4)

数据转发过程 VPN数据的转发 顶层公网标签 由LDP分配,指示LSR如何将标签报文从始发的源PE通过LSP标签交换到达目的PE 内层私网标签(VPN标签) 由MP-BGP分配,在将每一条客户路由变为VPNv4路由前缀时会自动为每一条VPNv4前缀关联一个标签 内层私网标签用于…

正版软件 - Proxyman:让网络调试变得更智能、更高效

在软件开发的世界里,网络调试一直是开发者和测试工程师的痛点。传统的调试工具往往操作复杂,界面不够直观,而且性能上也难以满足现代应用的需求。今天,我要向大家介绍一款名为Proxyman的网络调试工具,它以其简洁的界面…

springboot微信小程序 uniapp学习资料分享系统v9uy4

理论意义 当今网络教学已成为各国教育改革 和发展的趋势。因此,构建一个适合交互式课堂教学模式的教学平台就成了当务之 急。 在国内高校,目前交互平台主要用于网络学院的远程教学,至于校园内的正规教学,老师自发建立课程主页的比…

【学网攻】 第(24)节 -- 帧中继(点对点)

系列文章目录 目录 系列文章目录 文章目录 前言 一、帧中继是什么? 二、实验 1.引入 实验拓扑图 实验配置 在帧中继中配置通信链路​编辑 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 --…

【Linux网络编程三】Udp套接字编程网络应用场景

【Linux网络编程三】Udp套接字编程网络应用场景 应用场景一:远程命令执行应用场景二:与Windos端相互通信应用场景三:简单聊天1.多线程化2.输入输出分开 应用场景一:远程命令执行 简单的服务器上一篇已经完成,接下来我…