我开始使用 NaiveBayes / Simple 分类器进行分类(Weka),但是在训练数据时我有一些问题需要理解。我正在使用的数据集是weather.nominal.arff。
虽然我使用选项中的使用训练测试,但分类器结果是:
Correctly Classified Instances 13 - 92.8571 %
Incorrectly Classified Instances 1 - 7.1429 %
a b classified as
9 0 a =yes
1 4 b = no
我的第一个问题我应该从错误的分类实例中理解什么?为什么会出现这样的问题?哪个属性集合分类不正确?有没有办法理解这个?
其次,当我尝试10倍交叉验证时,为什么我会得到不同(较少)正确分类的实例?
结果是:
Correctly Classified Instances 8 57.1429 %
Incorrectly Classified Instances 6 42.8571 %
a b <-- classified as
7 2 | a = yes
4 1 | b = no
答案 0 :(得分:8)
您可以通过以下方式选择此选项来获取每个实例的单独预测:
更多选项...&gt;输出预测&gt;纯文本
除评估指标外,还将提供以下内容:
=== Predictions on training set ===
inst# actual predicted error prediction
1 2:no 2:no 0.704
2 2:no 2:no 0.847
3 1:yes 1:yes 0.737
4 1:yes 1:yes 0.554
5 1:yes 1:yes 0.867
6 2:no 1:yes + 0.737
7 1:yes 1:yes 0.913
8 2:no 2:no 0.588
9 1:yes 1:yes 0.786
10 1:yes 1:yes 0.845
11 1:yes 1:yes 0.568
12 1:yes 1:yes 0.667
13 1:yes 1:yes 0.925
14 2:no 2:no 0.652
表示第6个实例被错误分类。请注意,即使您在相同的实例上进行训练和测试,也可能由于数据不一致而导致错误分类(最简单的示例是具有相同功能但具有不同类标签的两个实例)。
请记住,上述测试方式存在偏见(因为它可以看到问题的答案,所以有点作弊)。因此,我们通常有兴趣对看不见的数据进行更真实的模型误差估计。 Cross-validation就是这样一种技术,它将数据划分为10个分层折叠,一次进行测试,而另外9次进行训练,最后报告十次运行的平均精度。