You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GridSearchCV中拟合应使用训练集还是测试集的X、y数据?

GridSearchCV 数据集传入规范

GridSearchCV.fit() 必须传入训练集的X和y,禁止传入测试集参与拟合流程。

核心原因

GridSearchCV的作用是通过内置的交叉验证逻辑完成超参数搜索,它会自动将你传入的数据集拆分为多组内部训练/验证子集,用验证子集的得分来评估不同超参数组合的效果,整个调参过程都不应该接触测试集,避免数据泄露。

你之前用错数据集后准确率异常,本质就是数据泄露导致的模型泛化能力完全失真:如果测试集参与了超参数搜索环节,相当于模型提前“见过”了本该用来做最终评估的未知数据,最终得到的参数要么是过拟合到测试集的,要么就是拆分逻辑冲突导致得分异常。

标准使用流程

  • 第一步:提前将全量数据集拆分为互不重叠的训练集(X_train, y_train)和测试集(X_test, y_test),测试集全程只用来做最终的模型效果评估,不参与任何训练、调参环节
  • 第二步:初始化GridSearchCV实例,传入基模型、超参数搜索网格、交叉验证折数、评估指标等配置
  • 第三步:调用GridSearchCV.fit(X_train, y_train),仅用训练集完成超参数搜索
  • 第四步:搜索结束后通过GridSearchCV.best_estimator_拿到最优超参数的模型,再调用best_estimator_.score(X_test, y_test)得到模型的真实泛化得分

注:即便是使用嵌套交叉验证的场景,也是外层做数据集拆分、内层做GridSearch的交叉验证,测试集始终不会进入GridSearch的fit流程。

内容的提问来源于stack exchange,提问作者Ruslan Pylypiuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:15:01