SVM - 是否在 GridSearchCV 之前随机播放图像数据?

数据挖掘 scikit-学习 支持向量机 网格搜索 网格搜索
2022-02-10 20:42:09

我有不同的图像数据集,其中大部分是按类排序的,其他的已经混合了。对于这些数据集中的每一个,我想训练一个 SVM(在 Python 和 Scikit-Learn 中),在每种情况下,超参数之前都使用 GridSearchCV 进行了优化。一些有序的数据集仍然需要拆分为训练和测试数据,然后在使用后以混合形式出现train_test_split,据我了解,在使用前不必再次混合GridSearchCV

其他有序数据集已经分为训练和测试数据,所以我会直接申请GridSearchCV. 现在我发现StratifiedKFold,如果我理解正确的话,在拆分成批次之前不会混合数据。在这些情况下,我应该在使用 GridSearchCV 之前混合数据,对吧?

如果我的假设有误,我将不胜感激任何提示。

1个回答

GridSearchCV默认情况下不会打乱数据。但是,正如您所指出的,您可以将KfoldorStratifiedKfold对象传递给cv参数,以指定改组。

例如:

model = XGBClassifier()
param_grid = {"n_estimators": [100]}
cv = StratifiedKFold(n_splits=5, shuffle=True)
gs = GridSearchCV(model, param_grid=param_grid)