lightGBM文件保存

news/2024/12/4 19:55:27/

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模型文件开头具有版本号,注意加载的版本号。


http://www.ppmy.cn/news/867418.html

相关文章

grib1文件解析 python_grib文件解析

一、grib文件简介 WMO是世界气象组织,world meteorology organization。 GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式。最初GRIB表示“二进制格点”(GRIdded Binary),后来扩展为“二进制的通用规则分布信息”(General Regularly-dis…

grib2文件格式说明

GRIB是一种二进制编码的名称,用于加工资料的传输和交换,GRIB编码的分析或预报产品是由一系列八位组构成的连续比特流组成。在GRIB2中编码资料主要分为9段。 0段——指示段八位组序号 内容 1—4 GRIB(按照国际电报字符5号…

Gerber文件解析

最近公司准备做pcb板缺陷检测,首先要用C解析GerBer文件,我尝试了使用pcb-tools库:https://github.com/curtacircuitos/pcb-tools。完美配置了环境,接下来就是学习一些Kicad制作GerBer文件的规则解析对应Gerber文件。有个问题不太清…

Windows下xarray+cfgrib读取grib文件

在Windows下读取grib文件,在我上一篇博客Windows上python读取grib2文件(不用Linux)学习了使用wgrib2处理grib2文件,可以直接读,也可以转化为nc文件(转化后python就容易处理了)。而对于grib文件&…

grib2 文件结构

GRIB是一种二进制编码的名称,用于加工资料的传输和交换,GRIB编码的分析或预报产品是由一系列八位组构成的连续比特流组成。在GRIB2中编码资料主要分为9段, 0段——指示段 八位组序号 内容 1—4 G…

grib文件

一、grib文件简介 WMO是世界气象组织,world meteorology organization。 GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式。最初GRIB表示“二进制格点”(GRIdded Binary),后来扩展为“二进制的通用规则分布信息”(General Regularly-distributed Informat…

转载:grib文件说明

原文链接:https://www.cnblogs.com/weiyinfu/p/9975257.html grib文件 一、grib文件简介 WMO是世界气象组织,world meteorology organization。 GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式。最初GRIB表示“二进制格点”&#x…

【线程概念和线程控制】

目录 1 :peach:线程概念 :peach:1.1 :apple:什么是线程?:apple:1.2 :apple:线程的优点和缺点:apple:1.3 :apple:页表的大小:apple:1.4 :apple:线程异常和用途:apple:1.5 :apple:进程VS线程:apple: 2 :peach:线程控制:peach:2.1 :apple:POSIX线程库:apple:2.2 :apple…