【问题标题】:How GridSearchCV in sklearn choose the cross-validation sets?sklearn中的GridSearchCV如何选择交叉验证集?
【发布时间】:2019-09-07 12:06:00
【问题描述】:
svc = GridSearchCV(SVC(), param_grid,scoring='f1_macro', verbose=1000)
svc.fit(X_train, y_train)
predictions = svc.predict(X_test)
我多次运行此代码,但结果相同。
GridSearchCV 是否选择相同的交叉验证集(不是随机选择)?
【问题讨论】:
标签:
machine-learning
scikit-learn
gridsearchcv
【解决方案1】:
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)