一、什么是朴素贝叶斯分类方法
原理
朴素 即假设各样本之间相互独立
贝叶斯 就是概率中的贝叶斯公式
朴素贝叶斯分类 是对相对独立的样本间,根据特征以及类别计算相应的后验概率,所有可能的分类中概率最高的即为预测的结果。
举例
上图为某垃圾广告分类,通过观察可以发现产品类所占比例最大,即将其预测为产品类垃圾广告
二、概率基础
2.1 概率(Probability)定义
概率定义为一件事情发生的可能性
如:扔出一个硬币,结果头像朝上的几率,某天是晴天的可能性,P(X) : 取值在[0, 1]
2.2 条件概率与联合概率
联合概率
包含多个条件,且所有条件同时成立的概率
记作:P(A,B)
特性:P(A, B) = P(A)P(B)
条件概率
就是事件A在另外一个事件B已经发生条件下的发生概率
记作:P(A|B)
特性:P(A1,A2|B) = P(A1|B)P(A2|B)
注意:此条件概率的成立,是由于A1,A2相互独立的结果
2.3 贝叶斯公式
那么这个公式如果应用在文章分类的场景当中,我们可以这样看:
公式分为三个部分:
P(c):每个文档类别的概率(某文档类别数/总文档数量)
P(W│C):给定类别下特征(被预测文档中出现的词)的概率计算方法:
P(F1│C)=Ni/N (训练文档中去计算)
Ni为该F1词在C类别所有文档中出现的次数
N为所属类别C下的文档所有词出现的次数和
P(F1,F2,…) 预测文档中每个词的概率如果计算两个类别概率比较:
所以我们只要比较前面的大小就可以,得出谁的概率大
所以我们只要比较前面的大小就可以,得出谁的概率大
三、文章分类计算
假设我们从训练集中得到以下特征
计算结果为:
我们计算出来某个概率为0,合适吗?
四、拉普拉斯平滑系数
目的:防止计算出的分类概率为0
P(娱乐|影院,支付宝,云计算) =P(影院,支付宝,云计算|娱乐)P(娱乐) =P(影院|娱乐)*P(支付宝|娱乐)P(云计算|娱乐)P(娱乐)=(56+1/121+4)(15+1/121+4)(0+1/121+14)(60/90) = 0.00002
五、API
sklearn.naive_bayes.MultinomialNB(alpha = 1.0)
- 朴素贝叶斯分类
- alpha:拉普拉斯平滑系数
六、案例
20类新闻分类
分析:
- 分割数据集
- tfidf进行的特征抽取朴素贝叶斯预测
六、总结
优点:
朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。对缺失数据不太敏感,算法也比较简单,常用于文本分类。
分类准确度高,速度快
缺点:
由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好。