我使用10倍交叉验证进行了朴素贝叶斯分类,获得了如下测试数据的表格预测:
=== Predictions on test data ===
inst# actual predicted error prediction (name)
1 3:no_chang 3:no_chang 0.943 (region_1)
2 1:active_K 1:active_K 1 (region_2)
3 3:no_chang 3:no_chang 0.912 (region_3)
4 3:no_chang 3:no_chang 0.858 (region_4)
5 3:no_chang 2:active_G + 0.518 (region_5)
我想知道如何计算“预测”列。我知道它从0变为1,1意味着预测是“更好”,但这是我在搜索和浏览Weka书之后相当长时间内找到的所有内容。
我知道有很多关于Weka在线的信息,但我有点不知所措,无法轻易找到我简单问题的答案。另外,有人能指点我为命令行用户提供详细的weka手册吗? Weka的书似乎过于关注GUI如何工作,因为我目前主要使用命令行工具,所以我并不感兴趣。
谢谢,
涓
答案 0 :(得分:1)
通过查看NaiveBayes
类的源代码,有一个名为m_ClassDistribution
的变量可以跟踪类预测。
在训练阶段,更新此变量以反映每个班级的先验概率。它在测试阶段用于计算属于给定类的给定样本的后验概率。
我建议您查看DiscreteEstimator
和NaiveBayes
的代码。特别是distributionForInstance
功能,用于测试阶段。它与朴素贝叶斯的正常计算略有不同,因为它还考虑了与每个特征相关的权重。