Как GridSearchCV в sklearn выбирает наборы перекрестной проверки? - PullRequest
3 голосов
/ 17 апреля 2019
svc = GridSearchCV(SVC(), param_grid,scoring='f1_macro', verbose=1000)
svc.fit(X_train, y_train)
predictions = svc.predict(X_test)

Я запускаю этот код много раз, но результаты совпадают.GridSearchCV выбирает одни и те же наборы перекрестной проверки (не случайно)?

1 Ответ

4 голосов
/ 17 апреля 2019

GridSearchCV использует KFold перекрестный валидатор по умолчанию и KFold не перемешивает данные по умолчанию.Чтобы включить тасование, вам нужно будет сделать

from sklearn.model_selection import KFold

cross_validator = KFold(shuffle=True)
svc = GridSearchCV(SVC(), param_grid, scoring='f1_macro', 
                   verbose=1000, cv=cross_validator)
svc.fit(X_train, y_train)
predictions = svc.predict(X_test)
...