使用GridSearchCV时是否需要拆分数据?

时间:2017-07-29 22:08:59

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

Gridsearhcv使用StratifiedKFold或KFold。所以我的问题是,在使用gridsearch之前,我应该将数据拆分为训练和测试,然后只对测试数据进行拟合吗?我不确定是否有必要因为cv方法已经拆分了数据,但我已经看到了一些事先拆分数据的例子。

谢谢。

1 个答案:

答案 0 :(得分:9)

GridSearchCV将获取您提供的数据,将其拆分为Train和CV集,并使用CV集搜索最佳超参数的训练算法。如果需要,您可以指定不同的拆分策略(例如拆分比例)。

但是,当您执行关于数据集的超参数调整信息时,仍会发生泄漏事故。进入算法。

因此我建议采取以下方法:

1)获取原始数据集,并将一些数据作为测试集(例如,10%)

2)对剩余的90%使用网格搜索。这里将通过算法为您完成拆分。

3)获得最佳超参数后,在#1的测试集上对其进行测试,以获得对新数据所期望的性能的最终估计。