Python每日一记14>>>贝叶斯算法

刚看到一篇文章写到:
编程语言流行指数(PYPL)排行榜近日公布了2019年2月份榜单。
在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2%,同比下跌1.3个百分点 。

很开心在循循渐进的道路上学习python,加油!
今天主要分享的是贝叶斯算法。此算法假设特征之间相关独立,因此其分类器的效率非常高,但我们需要注意的是,现实中特征之间往往是非独立的。贝叶斯算法分为贝努利朴素贝叶斯、高斯贝叶斯、多项式贝叶斯算法。
1、贝努利朴素贝叶斯:
算法比较适合于二项分布的数据集,即0-1分布。
在这里插入图片描述
在这里插入图片描述
可以看出朴素贝叶斯算法的得分非常低,明明是5类数据,预测结果只有两类,主要的原因在于其分类的原理,这里不需要深究,简单知道其模型并不好便是。下面介绍高斯贝叶斯算法。

2、高斯贝叶斯算法:
其假设特征符合正态分布。
在这里插入图片描述
在这里插入图片描述
我们发现高斯算法得分很高,并且5种分类均有预测到。高斯分布应用很多,因为大部分数据都呈现正态分布的的特征。接下来介绍多项式贝叶斯算法。

3、多项式贝叶斯算法:
可以将二项式理解为抛硬币,多项式理解为掷色子。
在这里插入图片描述
在这里插入图片描述
我们直接运行会报错,因为要求数据必须是非负的,需要数据预处理才行。

在这里插入图片描述
在这里插入图片描述
预处理后,模型不再报错,但是得分却不高,并且其预测分类也不完全。
多项式贝叶斯算法只适合非负离散数据特征进行分类,典型的是转化为向量后的文本数据进行分类。
综上,朴素贝叶斯分类适合于二项分布,但复杂数据集则很难应付;**高斯贝叶斯适合正态分布数据,应用广泛。**多项式贝叶斯则适合非负值得离散数值特征。

猜你喜欢

转载自blog.csdn.net/weixin_44663675/article/details/88583463