【数据挖掘】朴素贝叶斯分类讲解及对iris数据集分类实战(超详细 附源码)

简介: 【数据挖掘】朴素贝叶斯分类讲解及对iris数据集分类实战(超详细 附源码)

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理(Bayes Theorem)为基础,采用了概率推理方法

算法原理

贝叶斯定理提供了一种计算假设概论的方法

朴素贝叶斯分类

贝叶斯分类算法在处理文档分类核垃圾邮件过滤有较好的分类效果

高斯朴素贝叶斯分类

原始的朴素贝叶斯分类只能处理离散数据,当处理连续变量的时候,可以使用高斯朴素贝叶斯完成分类人物,处理连续数据时,一种经典的假设是与每个类相关的连续变量是服从高斯分布的

高斯朴素贝叶斯公式如下

下面利用上面这个公式通过身高、体重和脚长数据来判定一个人是男性还是女性,身体特征的统计数据如下表所示

根据朴素贝叶斯公式,计算两两变量之间的后验概率,由于身高 体重 脚长都是连续变量,不能采用离散变量的方法计算概率,而且由于样本太少,所以也无法区分成区间计算,这时可以假设男性和女性的身高,体重和脚长都服从高斯分布,通过样本计算出均值和方差

多项式朴素贝叶斯分类

多项式朴素贝叶斯(Multinomial Naïve Bayes)经常被用于处理多分类问题,比起原始的朴素贝叶斯分类效果有了较大的提升。其公式如下

朴素贝叶斯分类应用

Scikit-learn模块中有Naïve Bayes子模块,包含了各种贝叶斯算法。关键在于将分类器设置为朴素贝叶斯分类器,接着调用分类器训练并进行分类

下面对Iris数据集进行朴素贝叶斯分类

结果如下 大致可以分为六类

代码如下

from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB
iris = load_iris()
clf = GaussianNB()#设置高斯贝叶斯分类器
clf.fit(iris.data,iris.target)#训练分类器
y_pred = clf.predict(iris.data)#预测
print("Number of mislabeled points out of %d points:%d" %(iris.data.shape[0],(iris.target!= y_pred).sum()))

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
5月前
|
算法 数据挖掘 Python
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
134 0
|
5月前
|
机器学习/深度学习 算法 前端开发
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
43 0
|
5月前
|
算法 数据可视化 数据挖掘
【数据挖掘】密度聚类DBSCAN讲解及实战应用(图文解释 附源码)
【数据挖掘】密度聚类DBSCAN讲解及实战应用(图文解释 附源码)
174 1
|
3月前
|
数据采集 算法 搜索推荐
数据挖掘实战:基于KMeans算法对超市客户进行聚类分群
数据挖掘实战:基于KMeans算法对超市客户进行聚类分群
152 0
|
5月前
|
运维 算法 数据挖掘
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
95 0
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】K-Means、K-Means++、ISODATA算法详解及实战(图文解释 附源码)
【数据挖掘】K-Means、K-Means++、ISODATA算法详解及实战(图文解释 附源码)
95 1

热门文章

最新文章