Kfold 交叉验证和 GridSearchCV

Mr.*_*sed 5 machine-learning scikit-learn cross-validation hyperparameters

好吧,我试图了解如何以及在算法中的哪个点应用 Kfold CV 和 GridSearchCV。另外,如果我理解正确的话,GridSearchCV 用于超参数调整,即参数的哪些值将给出最佳结果,而 Kfold CV 用于更好的泛化,以便我们在不同的折叠上进行训练,从而在数据有序的情况下减少偏差以某种特定的方式,从而增加普遍性。现在的问题是,GridSearchCV 是否也使用 CV 参数进行交叉验证。那么为什么我们需要 Kfold CV,如果需要的话我们是否在 GridSearchCV 之前进行呢?对该过程的一些概述将非常有帮助。

Ami*_*ory 4

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

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

GridSearchCV是一个更高级别的构造,它采用KFold像(在其参数中)这样的 CV 引擎cv。它使用 CV 引擎来搜索超参数(在本例中,使用参数的网格搜索)。

  • 粗略地说,我也认为这是一个非此即彼的情况。一个例外是嵌套交叉验证,您可以在管道上外部运行“KFold”,该管道有一个运行“GridSearchCV”的步骤,但即使如此,在每个级别,您也只能运行其中一个。 (2认同)