2012-08-09 144 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。

相关问题