4

我正在尝试从命令行使用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 用于测试。

4

1 回答 1

6

文档中的代码是正确的,将 3/4 的数据放在训练集中,1/4 放在测试集中。这些选项的含义如下:

  • -N:应该有4个折叠,意思是数据被分成4个相等的不重叠的部分
  • -F:应选择这些部分/折叠中的第一个
  • -V: 反转选择

因此,创建训练集的第一行代码如下:

  • 创建4个折叠
  • 选择第一个折叠并取其结果的倒数,从而选择剩余的 3 折叠,即数据的 3/4

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

于 2012-08-09T13:06:20.547 回答