Я бы хотел разделить свои данные на наборы для тестирования и обучения, но я повторял наблюдения за людьми с течением времени, поэтому я хотел бы провести разделение таким образом, чтобы ни у одного из людей не было наблюдений, которые появляются в обоихнаборы тестовых и тренировочных данных.Чтобы выполнить такое расщепление в 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?