机 器 学 习 之用 Python从零实现贝叶斯分类器 关于朴素贝叶斯 朴素贝叶斯算法是一个直观的方法,使用每个属性归属于某个类的概率来做预测
你可以使用这种监督性学习方法,对一个预测性建模问题进行概率建模
给定一个类,朴素贝叶斯假设每个属性归属于此类的概率独立于其余所有属性,从而简化了概率的计算
这种强假定产生了一个快速、有效的方法
给定一个属性值,其属于某个类的概率叫做条件概率
对于一个给定的类值,将每个属性的条件概率相乘,便得到一个数据样本属于某个类的概率
我们可以通过计算样本归属于每个类的概率,然后选择具有最高概率的类来做预测
通常,我们使用分类数据来描述朴素贝叶斯,因为这样容易通过比率来描述、计算
一个符合我们目的、比较有用的算法需要支持数值属性,同时假设每一个数值属性服从正态分布(分布在一个钟形曲线上),这又是一个强假设,但是依然能够给出一个健壮的结果
预测糖尿病的发生 本文使用的测试问题是“皮马印第安人糖尿病问题”
这个问题包括 768 个对于皮马印第安患者的医疗观测细节,记录所描述的瞬时测量取自诸如患者的年纪,怀孕和血液检查的次数
所有患者都是 21 岁以上(含 21 岁)的女性,所有属性都是数值型,而且属性的单位各不相同
每一个记录归属于一个类,这个类指明以测量时间为止,患者是否是在 5 年之内感染的糖尿病
如果是,则为 1,否则为 0
机器学习文献中已经多次研究了这个标准数据集,好的预测精度为 70%-76%
下面是pima-indians
csv 文件中的一个样本,了解一下我们将要使用的数据
注 意 : 下载文件,然后以
csv 扩展名保存(如:pima-indians-diabetes
查看文件中所有属性的描述
Py thon 1 2 3 4 5 6,148,72,35,0,33