sklearn.model_selection.GridSearchCV
的文档中提到
搜索选择的估计器,即在被排除的数据上得分最高(或如果指定了,则损失最小)的估计器。如果 refit=False,则不可用。
…
选定的参数是那些最大化被排除数据得分的参数,除非明确传递了一个得分,在这种情况下会使用该得分。
什么是“被排除的数据”?它是否是交叉验证中被排除的部分,例如数据集的 1/10?
sklearn.model_selection.GridSearchCV
是如何排除数据的?
回答:
从文档中可以看到,这种网格搜索方法接受一个名为 cv
的参数:
cv : int, 交叉验证生成器或可迭代对象,可选
这决定了 KFold 交叉验证中的 K
值。它还提供了您可以遵循的其他策略。
对于整数/None 输入,如果估计器是分类器,并且 y 是二元或多类,StratifiedKFold 将被使用。在所有其他情况下,使用 KFold。
因此,回答您的问题,网格搜索会遍历参数空间,并且对于每个参数,进行例如 3 折交叉验证。正如您所猜测的,这将涉及在每一步排除一些数据(在这种情况下是 1/3)来计算预测准确性。这就是被排除的数据。