python - 使用 GridSearchCV 时需要拆分数据吗?

标签 python machine-learning scikit-learn grid-search

<分区>

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' 来说太大)

c++ - 在 python 中导入 C++ 类?

python - Python 中的套接字问题

python - 写入大量数据时 CSV 文件为空

python - 将包含字典的字典列表转换为 Pandas 数据框

machine-learning - SVM 与 MLP(神经网络): compared by performance and prediction accuracy

java - 如何有效地使用 Java 中的 R 预测模型?

python - 如何使用 sklearn 对少数因素和许多训练因素进行回归