机器学习教程之12-朴素贝叶斯(naive Bayes)法的sklearn实现

来源:互联网 发布:合同登记软件 编辑:程序博客网 时间:2024/06/05 17:03

0.概述

朴素贝叶斯法基于贝叶斯定理特征条件独立假设分类方法

对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

优点
原理简单
实现简单
学习与预测的效率都很高
是一种常用的方法

缺点

1.朴素贝叶斯法的学习与分类

这里写图片描述

要点
1)朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。具体地,学习先验概率分布及条件概率分布。
2)假设分类的特征都是条件独立的,这往往会牺牲一定的分类准确性。

2.自问自答

1)朴素贝叶斯算法为什么要通过数据集学习**联合概率分布P(X,Y)?

2)先验概率和后验概率怎么理解,区别是什么?

3)为什么需要贝叶斯算法,贝叶斯算法的定义是什么?
:我们经常需要在已知P(y|x)时计算P(x|y)。幸运的是,如果还知道P(x),我们可以用贝叶斯算法来实现这一目的:
这里写图片描述
注意到 P(y) 出现在上面的公式中,它通常使用 这里写图片描述来计算,所以我们并不需要事先知道 P(y) 的信息。

3.代码

说明:代码有详细注释,易于阅读、理解。

1)我的朴素贝叶斯法简单的使用例子:
naive_bayes-1.ipynb

2)我的kaggle比赛代码之朴素贝叶斯法的sklearn实现:
naive_Bayes_2.ipynb

4.总结

这里写图片描述

5.参考资料

[1] 统计学习方法 李航
[2] sklearn-8.20.1. sklearn.naive_bayes.GaussianNB
[3] kaggle-Naive Bayes - MultinomailNB

阅读全文
0 0
原创粉丝点击