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