sklearn 朴素贝叶斯

举报
xindoo 发表于 2022/04/16 00:54:33 2022/04/16
【摘要】 朴素贝叶斯是基于贝叶斯理论的一种监督学习算法,『朴素』意思是假设所有特征两两相互独立,给出类别y和一组依赖特征[x1..xn],根据贝叶斯理论,他们有如下的关系。 P(y|x1,...xn)=P...

朴素贝叶斯是基于贝叶斯理论的一种监督学习算法,『朴素』意思是假设所有特征两两相互独立,给出类别y和一组依赖特征[x1..xn],根据贝叶斯理论,他们有如下的关系。

P(y|x1,...xn)=P(y)P(x1,...xn|y)P(x1,...xn) P ( y | x 1 , . . . x n ) = P ( y ) P ( x 1 , . . . x n | y ) P ( x 1 , . . . x n )

根据贝叶斯独立性假设

P(xi|y,x1,...,xi1,...,xn)=P(xi|y) P ( x i | y , x 1 , . . . , x i 1 , . . . , x n ) = P ( x i | y )

对于所有的i,关系可以简化为

P(y|x1,...xn)=P(y)ni=1P(xi|y)P(x1,....,xn) P ( y | x 1 , . . . x n ) = P ( y ) i = 1 n P ( x i | y ) P ( x 1 , . . . . , x n )

因为P(x1,…,xn)}是给出的,所以我们可以做如下的近似

P(y|x1,...xn)=P(y)ni=1P(xi|y)P(x1,....,xn) P ( y | x 1 , . . . x n ) = P ( y ) i = 1 n P ( x i | y ) P ( x 1 , . . . . , x n )

yˆ=argmaxyP(y)i=1nP(xi|y) y ^ = a r g max y P ( y ) i = 1 n P ( x i | y )

我们可以用最大后验估计去估计P(Y)和P(xi | y),前者的相对频率可以通过训练数据集计算出来。

不同的朴素贝叶斯分类器的差异主要在于用了不同的关于P(xi|y)分布的假设。

尽管朴素贝叶斯过于简化假设,但在实际文件分类和垃圾邮件过滤中分类效果相当不错。朴素贝叶斯只需要少量的训练数据来估计必要的参数。(朴素贝叶斯效果好以及它适合哪种类型的数据理论解释,可参考下面的文献)

朴素贝叶斯学习器和分类器和一些复杂的方法相比,可以做到非常快。每个特征分布的解耦,意味着每个分布可以独立地当成一维去估计。这反过来又有助于缓解来自维数灾难的问题。

另一方面,虽然朴素贝叶斯以分类器著称,但它是一个坏的估计,所以不必计较从predict_proba得到的概率输出。

References:

H. Zhang (2004). The optimality of Naive Bayes. Proc. FLAIRS.

文章来源: xindoo.blog.csdn.net,作者:xindoo,版权归原作者所有,如需转载,请联系作者。

原文链接:xindoo.blog.csdn.net/article/details/66472926

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。