1. scikit-learn 朴素贝叶斯类库概述

朴素贝叶斯是一类比较简单的算法,scikit-learn中朴素贝叶斯类库的使用也比较简单。相对于决策树,KNN之类的算法,朴素贝叶斯需要关注的参数是比较少的,这样也比较容易掌握。在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先验为高斯分布的朴素贝叶斯,MultinomialNB就是先验为多项式分布的朴素贝叶斯,而BernoulliNB就是先验为伯努利分布的朴素贝叶斯。

这三个类适用的分类场景各不相同,一般来说,如果样本特征的分布大部分是连续值,使用GaussianNB会比较好。如果如果样本特征的分大部分是多元离散值,使用MultinomialNB比较合适。而如果样本特征是二元离散值或者很稀疏的多元离散值,应该使用BernoulliNB。

2. GaussianNB类使用总结

GaussianNB假设特征的先验概率为正态分布,即如下式:

P(Xj=xj|Y=Ck)=12πσ2k????√exp(?(xj?μk)22σ2k)P(Xj=xj|Y=Ck)=12πσk2exp(?(xj?μk)22σk2)

其中CkCk为Y的第k类类别。μk和σ2kμk和σk2为需要从训练集估计的值。

GaussianNB会根据训练集求出μk和σ2kμk和σk2。 μkμk为在样本类别CkCk中,所有XjXj的平均值。σ2k

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式