为 train_test_split 函数分层 python-weka-wrapper3

stratify python-weka-wrapper3 for train_test_split function

正在尝试做一个 train_test_split 但是数据库太不平衡所以我想对其进行分层,我该怎么做?

在文档中我看到 train_test_split 函数只接收 2 个参数:

train_test_split(百分比, rnd=None)

所以不知道是否可以通过分层来做到这一点。

我的代码是:

train_model_1_ORG, test_model_1_ORG = data_modelos_1_2.train_test_split(70.0, Random(1))

不,Weka 不提供该功能。

但是,我刚刚对 weka.core.Instances class 进行了更改,允许您生成 cross-validation 拆分(方法:cv_splits)。

因为你想要 70% 的训练集,你可以为 10 倍的 CV 生成拆分,然后将 7 个测试拆分合并到训练集中,其他的合并到测试集中(使用 Instances.append_instances(Inst1, Inst2) class 方法)。

注意: 您需要安装 pww3 directly from Github 或使用比 0.2.9 更新的版本。