2012-08-09 130 views
2

我試圖從命令行使用weka運行一些分類。在這個環節weka-Primer-commandline沒有用於創建測試和訓練集下面的例子:使用StratifiedRemoveFolds示例在weka中創建訓練和測試集

java weka.filters.supervised.instance.StratifiedRemoveFolds -i data/soybean.arff -o soybean-train.arff \ 
-c last -N 4 -F 1 -V 

java weka.filters.supervised.instance.StratifiedRemoveFolds -i data/soybean.arff -o soybean-test.arff \ 
-c last -N 4 -F 1 

這是一段代碼應該做的訓練數據的3/4和1/4的測試集?對我來說似乎只有整個數據的一倍(從最後一個因爲-V)將被分配用於訓練,並且只有1倍用於測試。我對嗎?我需要3/4的訓練數據和1/4的測試數據。

回答

4

文檔中的代碼是正確的,將3/4的數據放入列車集合中,將1/4放入測試集合中。的選項的含義如下:

  • -N:應該有4倍,這意味着數據被分成4個相等的非重疊部分
  • -F:第一這些部件的/摺疊應選擇
  • -V:逆選擇

所以它創建列車編組的第一線,工作原理如下:

  • 創建4倍
  • 選擇第一折疊並利用該這導致選擇其餘的3倍,這是數據的3/4

該試驗簡單地通過僅選擇產生的逆第一次摺疊,這是數據的1/4。

相關問題