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

我正在尝试使用weka在命令行上运行一些分类。在这个链接weka-Primer-commandline中,有一个创建测试和训练集的示例:

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

这段代码是否应该将数据的3/4用于训练,1/4用于测试集?在我看来,似乎只有整个数据的一个折叠(因为-V参数)会被分配给训练,而只有一个折叠用于测试。我的理解正确吗?我需要3/4的数据用于训练,1/4用于测试。


回答:

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

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

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

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

测试集的创建只是简单地选择第一个折叠,即数据的1/4。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注