Kfold交叉验证和GridSearchCV

时间:2018-03-19 07:03:25

标签: machine-learning scikit-learn cross-validation hyperparameters

我正在尝试理解算法中如何以及在何时应用Kfold CV和GridSearchCV。另外,如果我理解正确GridSearchCV用于超参数调整,即参数的哪些值将给出最佳结果,并且Kfold CV用于更好地推广,以便我们在不同的折叠上进行训练,从而减少偏差,如果数据类似于有序以某种特定方式并因此增加概括。现在问题是,GridSearchCV也不是用CV参数进行交叉验证。那么为什么我们要求Kfold CV,如果我们做的是否在GridSearchCV之前做呢?对该过程的一点概述将非常有帮助。

2 个答案:

答案 0 :(得分:2)

GridSearchCV是比KFold更高级的构造。前者使用后者(或其他类似的人)。

KFold是一个相对较低级别的构造,它为您提供一系列训练/测试指数。您可以使用这些索引执行多项操作,包括查找模型的OOB性能和/或调整超参数(基本上可以根据OOB性能搜索超参数)。

GridSearchCV是一个更高级别的构造,采用一个CV引擎,如KFold(在cv参数中)。它使用CV引擎搜索超参数(在这种情况下,使用对参数的网格搜索)。

答案 1 :(得分:1)

网格搜索用于选择预测算法的超参数的最佳组合(调整估计器的超参数),而KFold提供训练/测试索引以在列车/测试集中分割数据。它将数据集拆分为k个连续折叠(默认情况下不进行洗牌)。

然后每个折叠使用一次作为验证,而k-1剩余折叠形成训练集。它用于更好地衡量预测精度(我们可以将其用作模型拟合优度的代理)。

相关问题