朴素贝叶斯简介

标签: 朴素贝叶斯

朴素贝叶斯

朴素贝叶斯是一种速度很快的分类算法,适用于数据特征维度很高的情况。它假设数据的特征之间相互独立,这也是“朴素”这一名称的由来,其数学基础是贝叶斯定理。
根据每个特征的数据分布的假设不同,有高斯朴素贝叶斯,多项式朴素贝叶斯,伯努利朴素贝叶斯。

高斯朴素贝叶斯

高斯朴素贝叶斯假设每个特征的数据服从高斯分布,也就是正态分布
高斯分布
在scikit-learn中运用高斯朴素贝叶斯:

from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(X,y)

多项式朴素贝叶斯

顾名思义,它假设特征是由简单多项式分布生成的。多项式分布可以描述各种类型样本出现的概率,因此适用于描述出现次数或次数比例的特征,例如文档。
多项式朴素贝叶斯可用于文本分类,文本特征通常都是指待分类文本中单词出现的次数。

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()
model.fit(X,y)

朴素贝叶斯优缺点

朴素贝叶斯对数据有严格的假设,通常训练效果不会太好

优点:

1.训练预测速度快
2.容易解释
3.几乎没有可调参数
4.如果特征服从独立假设的话,朴素贝叶斯预测效果相比其他模型都会更好

缺点:

1.现实生活中,很难满足特征独立的假设,导致预测效果通常都不好
2.零概率问题。如果某个类别在训练样本中从没出现过,模型会对其富裕0概率,导致无法作出判断。不过可以采用拉普拉斯平滑进行处理。

提升朴素贝叶斯效果的一些小技巧

1.如果数字型特征不满足正太分布,可以可以通过数据变化而使其尽量满足,例如进行log变换
2.删除高相关性特征,如果有两个高度相关的特征存在于数据中,就相当于通过一个特征呗考虑两次,导致其重要性虚高

适用场景

1.假设分布函数与数据匹配,特征之间独立性高
2.数据实例间区分度很高
3.数据的维度很高
后面两点是相互联系的,因为如果数据维度很高,任何两点之间都不太可能靠近,那需要在每一个维度上都靠近才满足。

版权声明:本文为weixin_43934593原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43934593/article/details/103255138