关于Weka样本调查的初学者问题

时间:2010-09-16 02:07:36

标签: data-mining weka

我刚刚使用Weka在“Classify”标签下训练我的SVM分类器。 现在我想进一步调查哪些数据样本被错误分类,我需要研究他们的模式,但我不知道从Weka那里看看这个。 有人能给我一些帮助吗? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以从以下位置启用该选项:

alt text

您将获得以下实例预测:

=== 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中完成相同的操作(只是更乏味!)