我刚刚使用 Weka 在“分类”标签下训练我的 SVM 分类器。现在我想进一步调查哪些数据样本被错误分类,我需要研究它们的模式,但我不知道从 Weka 哪里看这个。谁能给我一些帮助?提前致谢。
问问题
1748 次
1 回答
3
您可以从以下位置启用该选项:
您将获得以下实例预测:
=== 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
编辑
正如我在评论中解释的那样,您可以使用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 中完成相同的操作(只是有点乏味!)
于 2010-09-16T02:35:33.383 回答