使用StratifiedRemoveFolds示例在weka中创建训练和测试集

时间:2012-08-09 08:47:02

标签: java machine-learning classification weka

我正在尝试从命令行使用 weka 运行某些分类。在此链接weka-Primer-commandline中,有以下用于创建测试和培训集的示例:

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用于测试。

1 个答案:

答案 0 :(得分:5)

文档中的代码是正确的,并将3/4的数据放入列车组中,将1/4的数据放入测试集中。选项意味着以下内容:

  • -N:应该有4个折叠,这意味着数据被分成4个相等的非重叠部分
  • -F:应选择第一部分/折叠
  • -V:反对选择

所以创建列车集的第一行如下:

  • 创建4折
  • 选择第一个折叠,然后选择相反的结果,选择剩余的3折,即3/4的数据

只需选择第一个折叠即1/4的数据即可创建测试。