1

Weka を使用して、「Classify」タグの下で SVM 分類子をトレーニングしました。ここで、どのデータ サンプルが誤分類されているかをさらに調査したいと思います。そのパターンを調べる必要がありますが、Weka からこれをどこで調べればよいかわかりません。誰か助けてくれませんか?前もって感謝します。

4

1 に答える 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 に答える