朴素贝叶斯有一个问题:
某篇文章是娱乐的概率是0这是不合理的,如果词频列表中出现很多次数都是0的话,很可能计算结果都是 0.
解决办法:拉普拉斯平滑
p(Fi|C)=(Ni+alpha)/(N+alpha*m)
alpha是指定的系数一般是1,m是训练文档中统计出来的特征词的个数。
API:sklearn.naive_bayes.MultinomiaLNB(alpha=1.0)默认平滑系数1.0
总结
- 这个算法不需要调参数
- 分类效率高,对于缺失数据不敏感,常用于文本分类,分类准确率高
- 样本关联性较大时效果不好
- 神经网络CNN(深度学习时更新)效果比朴素贝叶斯效果好
@author:specyue@mail.ustc.edu.cn