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

使用HalvingGridSearchCV调优XGBRegressor超参数得分低问题排查

代码不合理/错误点
  • 超参数搜索逻辑完全失效:你传入的param_grid中所有参数的候选列表都只有1个固定值,HalvingGridSearchCV没有多组参数可供对比筛选,所谓的「最优参数」就是你手动指定的唯一一组参数,相当于白用了搜索类,没有起到调参作用。
  • 存在数据泄露风险:fit方法中传入的早停验证集用了全局测试集(x_test, y_test),调参过程直接用到了测试集信息,会导致最终测试集评估结果失真,正确的做法是早停逻辑在交叉验证的每一折内部的验证集上执行。
  • 参数设置不符合XGBoost的常规合理范围:
    • max_depth设置为500属于完全不合理的取值,XGBoost作为单棵树深度较小的集成模型,常规取值在3~20之间,过深的树不仅会大幅增加训练耗时,还极容易导致过拟合。
    • 正则化参数reg_lambda设置为50、min_child_weight设置为50,正则强度过高,很可能导致模型欠拟合,拟合能力不足自然得分偏低。
  • HalvingGridSearchCV的参数配置浪费算力:aggressive_elimination=True是为了在候选参数组合极多时快速淘汰差的组合,你只有1组参数的情况下开启该配置完全没有意义。
模型得分偏低的常见原因
  • 超参数覆盖范围完全错误:你没有针对核心参数设置合理的搜索区间,例如学习率常规搜索范围是0.010.1、树深312、正则化参数0~10区间,你固定的参数偏离合理区间,自然得不到好的效果。
  • 数据层面问题:特征工程处理不到位,例如缺失值、异常值未处理,特征和目标变量的相关性极低,或者样本量不足以支撑模型拟合,都会导致模型上限很低。
  • 指标判断误区:你输出的best_score_是交叉验证的RMSE得分,需要结合目标变量的取值范围判断得分高低,如果目标变量本身的取值范围是1以上,0.05的RMSE属于非常优秀的结果,如果目标变量本身均值只有0.1左右,0.05的RMSE才属于偏高的情况,建议先计算相对误差(如MAPE)再判断模型效果。
  • 拟合状态问题:你可以对比训练集、交叉验证集、测试集的得分差:如果训练集得分远高于验证/测试集得分,属于过拟合,需要降低模型复杂度;如果三者得分都很低,属于欠拟合,需要降低正则强度、提升模型拟合能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:24:05