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

如何在Python中使用新数据更新已训练的LGBMRegressor模型?

如何增量更新已训练好的LGBMRegressor模型

LightGBM的scikit-learn接口并没有提供你期望的update方法,但可以通过fit方法结合init_model参数实现增量训练,下面是具体实现方式:

方式1:直接在原模型上增量训练

如果你不需要保留原模型的初始状态,直接调用已训练模型的fit方法,传入新数据并指定init_model为自身,同时必须设置keep_training_booster=True(默认fit后会转换内部booster对象,导致无法继续训练):

# 在原模型基础上继续训练新数据
reg.fit(X_new, y_new, init_model=reg, keep_training_booster=True)

方式2:保留原模型,训练新的增量模型

如果需要保留原模型的初始状态,先通过深复制创建原模型的副本,再在副本上执行增量训练:

import copy

# 深复制原模型,避免修改原始模型
reg2 = copy.deepcopy(reg)
# 在副本上增量训练新数据
reg2.fit(X_new, y_new, init_model=reg2, keep_training_booster=True)

额外注意事项

  • 新数据的特征必须和原训练数据完全一致(特征数量、顺序、数据类型都要匹配),否则会触发错误。
  • 可以通过num_iterations参数指定增量训练的轮数(即新增多少棵决策树),比如:
    reg.fit(X_new, y_new, init_model=reg, keep_training_booster=True, num_iterations=50)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:06:04