朴素贝叶斯简介

朴素贝叶斯

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

高斯朴素贝叶斯

高斯朴素贝叶斯假设每个特征的数据服从高斯分布,也就是正态分布
高斯分布
在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.数据的维度很高
后面两点是相互联系的,因为如果数据维度很高,任何两点之间都不太可能靠近,那需要在每一个维度上都靠近才满足。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值