为了账号安全,请及时绑定邮箱和手机立即绑定

将 LGBMRegressor 模型从 python lightgbm 包保存到光盘

将 LGBMRegressor 模型从 python lightgbm 包保存到光盘

小怪兽爱吃肉 2021-12-08 16:20:46
我找不到将 LGBM 模型保存和重用到文件的方法。我使用了 python 包 lightgbm 和 LGBMRegressor 模型。能否请你帮忙?文档似乎没有有用的信息。我在 Spyder 上使用 python 3.5
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

尝试:


my_model.booster_.save_model('mode.txt')

#load from model:


bst = lgb.Booster(model_file='mode.txt')

注意:API 声明


bst = lgb.train(…)

bst.save_model('model.txt', num_iteration=bst.best_iteration)

根据版本,上述之一有效。对于通用,您还可以使用泡菜或类似的东西来冻结您的模型。


import joblib

# save model

joblib.dump(my_model, 'lgb.pkl')

# load model

gbm_pickle = joblib.load('lgb.pkl')

让我知道这是否有帮助


查看完整回答
反对 回复 2021-12-08
?
Helenr

TA贡献1780条经验 获得超4个赞

使用最新版本的 lightGBM import lightgbm as lgb,这里是如何做到的:

model.save_model('lgb_classifier.txt', num_iteration=model.best_iteration)

然后你可以阅读模型如下:

model = lgb.Booster(model_file='lgb_classifier.txt')


查看完整回答
反对 回复 2021-12-08
?
长风秋雁

TA贡献1757条经验 获得超7个赞

对于 Python 3.7 和lightgbm==2.3.1,我发现以前的答案不足以正确保存和加载模型。以下工作:


lgbr = lightgbm.LGBMRegressor(num_estimators = 200, max_depth=5)

lgbr.fit(train[num_columns], train["prep_time_seconds"])

preds = lgbr.predict(predict[num_columns])

lgbr.booster_.save_model('lgbr_base.txt')

最后,我们可以通过以下方式验证这是否有效:


model = lightgbm.Booster(model_file='lgbr_base.txt')

model.predict(predict[num_columns])


如果没有上述内容,我会收到错误消息: AttributeError: 'LGBMRegressor' object has no attribute 'save_model'


查看完整回答
反对 回复 2021-12-08
  • 3 回答
  • 0 关注
  • 827 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信