运行测试,你会获得如下结不雅:
- Accuracy: 66.6666666667
归并代码
下面是朴实贝叶斯Python版的慢慢实现的全部代码。
运行示例,获得如下输出:
- Split 768 rows into train=514 and test=254 rows
- Accuracy: 76.3779527559%
实现扩大
这一部分为你供给潦攀扩大思路,你可以将其作为教程的一部分,应用你已经实现的Python代码,进行应悠揭捉?究。
到此,你已经应用Python一步步完成了高斯版本的朴实贝叶斯。
你可以进一步扩大算法实现:
计算所属类的概率:将一个数据样本归属于每个类的概率更新为一个比率。计算上就是将一个样本数据归属于某个类的概率,比上其归属于每一个类的概率的和。举例来说,一个样本属于类A的概率时0.02,属于类B的概率时0.001,那么样本属于类A的可能性是(0.02/(0.02+0.001))*100 大年夜约为95.23%。
对数概率:对于一个给定的属性值,每个类的前提概率很小。当将其相乘时结不雅会更小,那么存在浮点溢出的可能(数值太小,以至于在Python中不克不及表示)。一个常用的修复筹划是,归并其概率的对数值。可以研究实现下这个改进。
名词属性:改进算法实现,使其支撑名词属性。这是十分类似的,你所收集的每个属性的┞藩要信息是对于每个类的类别值的比率。潜心进修参考文献来获取更多信息。
不合的密度函数(伯努利或者多项式):我们已经测验测焉了高斯朴实贝叶斯,你也可以测验测验下其他分布。实现一个不合的分布诸如多项分布、伯努利分布或者内核朴实贝叶斯,他们对于属性值的分布 和/或 邮攀类值之间的关系有不合的假设。
这一部分供给了一些用于进修更多朴实贝叶斯算法的资本,包含算法理论和工作道理,以及代码实现中的实际问题。
问题
更多进修猜测糖尿病发生发火问题的资本
- Pima Indians Diabetes Data Set:这个页面供给数据集文件,同时描述了各个属性,也列出了应用该数据集的论文列表
- Dataset File:数据集文件
- Dataset Summary:数据集属性的描述
- Diabetes Dataset Results:很多标准算法在该数据集上的精度
代码
这一部分包含风行的机械进修库中的朴实贝叶斯的开源实现。如不雅你在推敲实现本身的用于实际应用的版本,可以查阅┞封些
- Naive Bayes in Scikit-Learn:scikit-learn库中朴实贝叶斯的实现
- Naive Bayes documentation:scikit-learn库中关于朴实贝叶斯的文档和样例代码
- Simple Naive Bayes in Weka:朴实贝叶斯的Weka实现
书本
你应当有几本机械进修应用的书本。这一部分高亮出了常用机械进修书本中关于朴实贝叶斯的┞仿节。
- Applied Predictive Modeling, page 353
- Data Mining: Practical Machine Learning Tools and Techniques, page 94
- Machine Learning for Hackers, page 78
- An Introduction to Statistical Learning: with Applications in R, page 138
- Machine Learning: An Algorithmic Perspective, page 171
- Machine Learning in Action, page 61 (Chapter 4)
- Machine Learning, page 177 (chapter 6)
【编辑推荐】
- Python爬虫之BeautifulSoup
- Python协程:概念及其用法
- Python源码懂得: +=和 xx = xx + xx的差别
- Python编写知乎爬虫实践
- Python爬虫音频数据
推荐阅读
日前,在第十四届中国信息港论坛举办的“2017年中国信息通信与‘互联网+’应用优良结不雅奖”颁奖典礼上,中国电信浙江宁波分公司的“宁波市基层社会办事治理综>>>详细阅读
地址:http://www.17bianji.com/lsqh/35863.html
1/2 1