在过去的几天里,我正在尝试使用来自 UCI 的 iris 数据集(http://archive.ics.uci.edu/ml/datasets/Iris)在 python 中实现朴素贝叶斯分类器。当试图对 100 个随机样本进行分类时,我只能得到 30-40% 的准确率。我认为我的概率函数是正确的,因为我使用维基百科的示例(https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Examples)对其进行了测试
现在这就是我要做的:
- 我加载数据
- 我将数据分为3类
- 我计算每个类的均值和方差
然后对于 100 个随机样本,我:
- 计算每个特征属于一个类的概率
通过乘以该类的每个概率来计算后验分子
将值存储在列表中并获取最大值的索引
将最高值索引与真实索引进行比较(检查预测是否正确)
不知何故,我只得到 30-40%,我做错了吗?
如果你想看代码,在这里: http: //pastebin.com/sUYm97qi