<分区>
Gridsearhcv 使用 StratifiedKFold 或 KFold。所以我的问题是,我应该在使用网格搜索之前将我的数据分成训练和测试,然后只对测试数据进行拟合吗?我不确定是否有必要,因为 cv 方法已经拆分了数据,但我已经看到了一些预先拆分数据的示例。
谢谢。
<分区>
Gridsearhcv 使用 StratifiedKFold 或 KFold。所以我的问题是,我应该在使用网格搜索之前将我的数据分成训练和测试,然后只对测试数据进行拟合吗?我不确定是否有必要,因为 cv 方法已经拆分了数据,但我已经看到了一些预先拆分数据的示例。
谢谢。
最佳答案
GridSearchCV 将获取您提供的数据,将其拆分为训练集和 CV 集,并训练算法使用 CV 集搜索最佳超参数。如果需要,您可以指定不同的拆分策略(例如拆分比例)。
但是当您执行超参数调整时,有关数据集的信息仍然“泄漏”到算法中。
因此我建议采用以下方法:
1) 拿你的原始数据集,拿出一些数据作为测试集(比如,10%)
2) 对剩余的 90% 使用网格搜索。拆分将由此处的算法为您完成。
3) 获得最佳超参数后,在 #1 的测试集上对其进行测试,以获得对新数据的预期性能的最终估计。
关于python - 使用 GridSearchCV 时需要拆分数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394527/
相关文章:
machine-learning - Google CloudVision API BatchAnnotateImagesResponse 基于网络的图像详细信息
python - 如何设置 curve_fit 的初始值以找到最佳优化,而不仅仅是局部优化?
python - sklearn 错误 ValueError : Input contains NaN, 无穷大或值对于 dtype ('float64' 来说太大)
python - 将包含字典的字典列表转换为 Pandas 数据框
machine-learning - SVM 与 MLP(神经网络): compared by performance and prediction accuracy