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

时间:2019-03-17 15:33:16

标签: python lightgbm

嗨,我无法找到一种方法来保存LGBM模型并将其重用到文件中。我使用了python包lightgbm和LGBMRegressor模型。能否请你帮忙?文档似乎没有有用的信息。我在Spyder上使用python 3.5

4 个答案:

答案 0 :(得分:2)

尝试:

my_model.booster_.save_model('mode.txt')
#load from model:

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

您也可以使用泡菜:

from sklearn.externals import joblib
# save model
joblib.dump(my_model, 'lgb.pkl')
# load model
gbm_pickle = joblib.load('lgb.pkl')

让我知道是否有帮助

答案 1 :(得分:1)

clf.save_model('lgbm_model.mdl')
clf = lgb.Booster(model_file='lgbm_model.mdl')

答案 2 :(得分:0)

使用import lightgbm as lgb使用最新版本的lightGBM,请按以下步骤操作:

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

然后您可以按以下方式阅读模型:

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

答案 3 :(得分:0)

对于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'