阅读 Tom M. Mitchell 的《机器学习》后,根据自己的理解写的朴素贝叶斯分类器。
如果本地计算机安装了基本环境,在当前目录执行make
即可,要求编译器支持C++ 11
,成功编译后执行 ./naive_bayes.out
。
对于离散属性,则按照属性值分别计算条件概率;对于连续的实数型数据,假定其符合正态分布,按照正态分布概率公式计算。要求目标属性必须为离散属性,且位于最后一列。不符合条件的数据产生未知行为。
对于iris数据集,使用全部数据做训练集,每种分类取10种做测试集,输出真实属性和预测的目标属性值。 对于原书中的样例playTennis,即采用书中提供的数据集和一个测试数据(仅做示例使用, 结果无代表性)。