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')
让我知道这是否有帮助
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')
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'
添加回答
举报