您的位置:首页 > 其它

sklearn 朴素贝叶斯

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

P(y|x1,...xn)=P(y)P(x1,...xn|y)P(x1,...xn)

根据贝叶斯独立性假设

P(xi|y,x1,...,xi−1,...,xn)=P(xi|y)

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

P(y|x1,...xn)=P(y)∏ni=1P(xi|y)P(x1,....,xn)

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

P(y|x1,...xn)=P(y)∏ni=1P(xi|y)P(x1,....,xn)

yˆ=argmaxyP(y)∏i=1nP(xi|y)

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

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

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

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

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

References:

H. Zhang (2004). The optimality of Naive Bayes. Proc. FLAIRS.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法