我有一个数据集,我想使用 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):
....
答案 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)