1
我刚用Weka在“Classify”标签下训练我的SVM分类器。 现在我想进一步调查哪些数据样本是错误分类的,我需要研究它们的模式,但我不知道Weka从哪里看这个。 任何人都可以给我一些帮助吗? 在此先感谢。关于调查Weka样本的初学者问题
我刚用Weka在“Classify”标签下训练我的SVM分类器。 现在我想进一步调查哪些数据样本是错误分类的,我需要研究它们的模式,但我不知道Weka从哪里看这个。 任何人都可以给我一些帮助吗? 在此先感谢。关于调查Weka样本的初学者问题
您可以启用从选项:
您将获得以下实例预测:
=== Predictions on test split ===
inst# actual predicted error prediction
1 2:Iris-ver 2:Iris-ver 0.667
...
16 3:Iris-vir 2:Iris-ver + 0.667
编辑
正如我在解释评论,你可以n使用StratifiedRemoveFolds过滤器手动分割数据并创建10倍的交叉验证。
来自Weka wiki的这个Primer有一些如何从命令行调用Weka的例子。下面是一个示例bash脚本:
#!/bin/bash
# I assume weka.jar is on the CLASSPATH
# 10-folds CV
for f in $(seq 1 10); do
echo -n "."
# create train/test set for fold=f
java weka.filters.supervised.instance.StratifiedRemoveFolds -i iris.arff \
-o iris-f$f-train.arff -c last -N 10 -F $f -V
java weka.filters.supervised.instance.StratifiedRemoveFolds -i iris.arff \
-o iris-f$f-test.arff -c last -N 10 -F $f
# classify using SVM and store predictions of test set
java weka.classifiers.functions.SMO -C 1.0 \
-K "weka.classifiers.functions.supportVector.RBFKernel -G 0.01" \
-t iris-f$f-train.arff -T iris-f$f-test.arff \
-p 0 > f$f-pred.txt
#-i > f$f-perf.txt
done
echo
对于每个倍,这将创建两个数据集(火车/测试),并存储在文本文件中的预测也是如此。这样您可以将每个索引与测试集中的实际实例进行匹配。
当然同样可以在GUI中,如果你喜欢做(只有一点点比较繁琐!)
谢谢,银行,真正帮助一个lot.One更多的问题,如果我想进一步调查,我意思是,我想看看这个错误分类的原始样本做一些模式分析,我怎么能这样做呢?换句话说,我怎么能找到我的原始.arff数据文件中的相应条目?Thanks1 – Kevin 2010-09-16 03:03:54
我想它取决于你使用的测试程序。如果您考虑使用相同的数据集进行训练/测试,那么inst#将与文件的顺序相同。否则,您可以使用** StratifiedRemoveFolds **过滤器手动分离数据集(比如2/3列车和1/3测试,甚至交叉验证折叠),然后将新文件作为测试集提供,这样实例的顺序被保留。另一种方法是使用** AddClassification **过滤器,该过滤器将使用您选择的算法将新列添加到包含预测的数据集中。 – Amro 2010-09-16 03:32:07
...这些过滤器可以应用在“预处理”选项卡 – Amro 2010-09-16 03:33:32