Пример AlliterativeAlice очень помог мне. В моем случае, однако, сервер, с которым я разговаривал, не любил иметь одинарные кавычки вокруг utf-8
в типе контента. Он потерпел неудачу с общим "Server Error"
, и потребовалось несколько часов, чтобы выяснить, что ему не понравилось:
request.ContentType = "text/xml; encoding=utf-8";
Установите их как 'group'
. Большинство сплиттеров в sklearn поддерживают в них параметр с именем groups
, который можно настроить на то, что вы хотите
Пример:
Вы можете использовать GroupKFold или GroupShuffleSplit :
group_kfold = GroupKFold(n_splits=3)
for train_index, test_index in group_kfold.split(df, groups=df.index):
print("Train", df.iloc[train_index].index)
print("Test", df.iloc[test_index].index)
Output:
('Train', Int64Index([1, 1, 1, 2, 2, 3, 4, 4], dtype='int64', name=u'A'))
('Test', Int64Index([5, 6, 6, 6], dtype='int64', name=u'A'))
('Train', Int64Index([2, 2, 4, 4, 5, 6, 6, 6], dtype='int64', name=u'A'))
('Test', Int64Index([1, 1, 1, 3], dtype='int64', name=u'A'))
('Train', Int64Index([1, 1, 1, 3, 5, 6, 6, 6], dtype='int64', name=u'A'))
('Test', Int64Index([2, 2, 4, 4], dtype='int64', name=u'A'))
Вы можете видеть, что последний тест поезда соответствует вашему требованию. Все складки будут иметь данные, которые будут либо тренироваться, либо тестироваться, но не оба.
cv
для GridSearchCV – Vivek Kumar 7 July 2018 в 04:57