lightGBM文件保存

1.使用lightGBM原生的接口保存为txt文件

# 模型训练
gbm = lgb.train(params, lgb_train, num_boost_round=20, valid_sets=lgb_eval, early_stopping_rounds=5)
# 模型保存
gbm.save_model('model.txt')
# 模型加载
gbm = lgb.Booster(model_file='model.txt')
# 模型预测
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)

2.使用pickle保存为pkl文件

import pickle 

pickle.dump("lightGBMmodel.pkl")     

pickle.load("lightGBMmodel.pkl");

// 凭记忆书写的代码,加载出错的话需要查一下pickle的具体用法

注意事项:

1).Python2版本的pickle文件和Python3版本的pickle不能互相加载,若要通用最好使用txt文件。

2).Python2的pkl转Python3的pkl模型文件可以通过lightGBM加载txt文件作为中介进行转化。

3.使用sklearn封装的接口保存为pkl文件

sklearn序列化模型好像就是pickle文件的封装

from lightgbm import LGBMRegressor
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.externals import joblib
# 模型训练
gbm = LGBMRegressor(objective='regression', num_leaves=31, learning_rate=0.05, n_estimators=20)
gbm.fit(X_train, y_train, eval_set=[(X_test, y_test)], eval_metric='l1', early_stopping_rounds=5)
# 模型存储
joblib.dump(gbm, 'loan_model.pkl')
# 模型加载
gbm = joblib.load('loan_model.pkl')
# 模型预测
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration_)

4.sklearn模型和lightGBM模型模型互存

4.1 skleran模型的lightGBM的pkl文件转化为lightGBM的txt模型文件

import sys
import lightgbm as lgb
if sys.version_info.major == 2:
    from sklearn.externals import joblib
else:
    import joblib
model=joblib.load("sqli/sql_mls.m")
model.booster_.save_model("xxxxx.txt")
gbm = lgb.Booster(model_file='xxxxx.txt')   # 验证是否转化成功

4.2 lightGBM的txt模型文件转化为skleran模型的lightGBM的pkl文件

可通过原生lightGBM加载txt模型然后使用步骤3转化

注意事项:lightGBM模型文件开头具有版本号,注意加载的版本号。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值