我想将我的数据拆分为测试集和训练集,但是随着时间的推移我反复观察人们,所以我想以一种没有人在测试和训练中都出现观察的方式进行拆分训练数据集。要在 scikit-learn 中进行这种拆分,我会使用GroupShuffleSplit做这样的事情:
import numpy as np
from sklearn.model_selection import GroupShuffleSplit
X = np.array([0.1, 0.2, 2.2, 2.4, 2.3, 4.55, 5.8, 0.001])
y = np.array(["a", "b", "b", "b", "c", "c", "c", "a"])
groups = np.array([1, 1, 2, 2, 3, 3, 4, 4])
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=0)
train, test = next(gss.split(X, y, groups=groups))
X_train, y_train = X[train], y[train]
X_test, y_test = X[test], y[test]
我如何使用 Dask 或 Dask-ML 做到这一点?