machine-learning - sklearn中的GridSearchCV如何选择交叉验证集?
问题描述
svc = GridSearchCV(SVC(), param_grid,scoring='f1_macro', verbose=1000)
svc.fit(X_train, y_train)
predictions = svc.predict(X_test)
我多次运行此代码,但结果是相同的。GridSearchCV 是否选择相同的交叉验证集(不是随机选择)?
解决方案
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)
推荐阅读
- reactjs - 如何为注销添加自定义 DrawerItem
- json - 修改 Maximo 7.6.1 中生成的 JSON
- r - 如何将1个数据框中的值分配给另一个数据框中的新列
- javascript - 使用 Multer 时将 Google Cloud 映像从私有设置为公开
- jquery - 在jquery计算器中,防止用户多次点击小数点
- html - 角度路由,是重新加载整个 html 页面,还是只是页面的一部分?
- javascript - 我的代码返回此错误“错误:未知:赋值表达式中的左侧无效 (31:1)”。我该如何解决?
- python - 在 python 中导入 .sql 文件
- php - (PHP) 如何从数据库列中获取数组并将它们生成到复选框
- c# - 'ListViewItem' 不包含带 1 个参数的构造函数