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

lightgbm≤3.3.1调用early_stopping时min_delta参数未识别报错如何解决

问题原因
  1. 参数位置错误:你修改的代码中将min_delta放在了callbacks列表外侧,属于语法错误,容忍度参数需要传入early_stopping()函数内部。
  2. 版本参数不兼容:你当前使用的LightGBM版本低于3.3.0,该版本之前早停回调的容忍度参数为min_gain,min_delta是3.3.0版本之后新增的别名,旧版本无法识别该参数名,因此触发报错。
解决方案
  • 方案1:使用兼容旧版本的min_gain参数
    直接将参数名替换为min_gain即可,多评估指标场景下传入对应顺序的数值列表,正确代码如下:
reg = LGBMRegressor(**lgbr_params)
reg.fit(train_valid[features], 
        train_valid[target], 
        verbose=100,
        eval_set=[(test[features], test[target])], 
        eval_metric=['rmse', 'mae'],
        callbacks=[early_stopping(stopping_rounds=10, first_metric_only=False, min_gain=[0.1, 0.1])])
  • 方案2:升级LightGBM到支持min_delta的版本
    Windows环境升级失败通常是默认源网络问题,使用国内镜像执行升级命令即可:
    pip install -U lightgbm -i https://pypi.tuna.tsinghua.edu.cn/simple
    升级到3.3.0及以上版本后,即可正常使用min_delta参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:10