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