Да, это возможно.Для этого вы можете использовать перекрестную проверку с группами.Если вы хотите убедиться, что точки данных от одного человека находятся в или обучающем или тестовом наборе, это называется группировка или блокировка .в scikit-learn такого можно добиться, добавив массив со значениями членства в группе к cross_val_scores
.Затем вы можете использовать класс GroupKFold
scikit-learn с количеством групп в качестве процедуры перекрестной проверки.Смотрите пример ниже.(Простая модель логистической регрессии только для иллюстрации использования класса GroupKFold)
from sklearn.model_selection import GroupKFold
# create synthetic dataset
X, y = make_blobs(n_samples=12, random_state=0)
# the first three samples belong to the same group, etc.
groups = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3]
scores = cross_val_score(logreg, X, y, groups, cv=GroupKFold(n_splits=4))
print("cross_val_score(logreg, X, y, groups, cv=GroupKFold(n_splits=4)")
print("Cross-validation scores :\n{}".format(scores))