好吧,我正在尝试理解如何以及在算法中的哪个点应用Kfold和GridSearchCV。此外,如果我理解正确,GridSearchCV用于超参数调整,即参数的值将提供最佳结果,Kfold用于更好的泛化,以便我们在不同的折叠上进行训练,从而减少偏差,如果数据以某种特定方式排序,则增加泛化。现在的问题是,GridSearchCV不是也在使用CV参数进行交叉验证吗?那么,我们为什么需要Kfold,如果我们需要的话,我们是否在GridSearchCV之前就做了呢?稍微概述一下这个过程会非常有帮助。
发布于 2018-03-19 15:13:35
GridSearchCV是比KFold更高级的构造。前者使用后者(或其他类似的工具)。
KFold是一个相对低级的构造,它为您提供了一系列训练/测试索引。您可以使用这些索引来做一些事情,包括查找模型的OOB性能,和/或调优超参数(这基本上是基于OOB性能以某种方式搜索超参数)。
GridSearchCV是一个更高级别的构造,它采用像KFold这样的CV引擎(在其cv参数中)。它使用CV引擎搜索超参数(在本例中,使用网格搜索参数)。
发布于 2018-03-19 15:29:43
网格搜索用于选择预测算法的超参数的最佳组合(调整估计器的超参数),而KFold提供训练/测试索引来拆分训练/测试集中的数据。它将数据集分割成k个连续折叠(默认情况下没有混洗)。
然后,每个折叠被用作一次验证,而剩余的k-1个折叠形成训练集。它被用来更好地衡量预测精度(我们可以用它来代替模型的拟合程度)。
https://stackoverflow.com/questions/49357407
复制相似问题