GDBT模型增量学习方法

前言

在工作的实际项目中, 由于每天数据量都在不断积累, 常常存在需要在线迭代模型的需求, 但是重新训练模型成本过高, 此时在成本和精度权衡下, 可以采用增量学习的方式.

机器学习-增量学习

基于XGBoost增量学习

如下参数解释详见: XGBoost官方文档

# 模型参数
## 从原模型中随机取树进行迭代, 更新树节点的统计数据, 并不会执行数据行随机子采样
params.update({
    'process_type': 'update',  
    'updater'     : 'refresh',
    'refresh_leaf': True
})
# 训练前加载模型
new_model = xgb.train(params, TRAIN_DATA, num_boost_round = 10, xgb_model = ORIGIN_MODEL_PATH)

基于LightGBM增量学习

如下参数解释详见: LightGBM官方文档

# 引入原始模型文件实现增量训练
lgb.train(
    ...,
    init_model = ORIGIN_MODEL_PATH,
    keep_training_booster = True     # 用以表征返回模型是否未来会继续训练
)

参考资料


GDBT模型增量学习方法
https://www.windism.cn/164327144.html
作者
windism
发布于
2021年9月8日
许可协议