Weka を使用して、「Classify」タグの下で 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 のこの入門書には、コマンド ラインから 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
これにより、フォールドごとに 2 つのデータセット (トレーニング/テスト) が作成され、予測もテキスト ファイルに保存されます。そうすれば、各インデックスをテスト セット内の実際のインスタンスと一致させることができます。
もちろん、必要に応じて GUI で同じことを行うこともできます (少し面倒です!)
于 2010-09-16T02:35:33.383 に答える