python 使用 GroupShuffleSplit 拆分训练/测试/验证

时间:2021-06-27 15:09:04

标签: python machine-learning scikit-learn deep-learning cross-validation

我有一个数据集,我想使用 GroupShuffleSplit 将其拆分为训练 (60%) 测试 (20%) 和 val (20%)。 是否可以将其用于 3 种类型的折叠而不是仅 2 种(训练/测试)?

如果不是 - 实现它的最佳方法是什么? 代码应该是这样的:

gss = GroupShuffleSplit(n_splits=6, train_size=.6, random_state=42)
for train_index, test_index, valid_index in gss.split(X = x, y = y, groups=groups):
    ....

1 个答案:

答案 0 :(得分:0)

您可以使用 train_test_split 两次来进行 60-20-20 次分割。

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25)