LightGBM如何保存模型?
用lgb保存模型遇到了几个坑,在这里记录一下。
在用Lightgbm.LGBMClassifier训练生成模型时,Scikit-learn 官网上建议的两种方式:
1.pickle方式
这里我写了保存和加载两种方式:
import pickle
def pkl_save(filename,file):output = open(filename, 'wb')pickle.dump(file, output)output.close()def pkl_load(filename):pkl_file = open(filename, 'rb')file = pickle.load(pkl_file) pkl_file.close()return file
2.joblib方式
from sklearn.externals import joblib
joblib.dump(model_lgb, 'dota_model.pkl')
clf = joblib.load('dota_model.pkl')
但是,使用你这两种方式遇到了一个坑,那就是sklearn版本的问题!
你可会发现这个错误“ModuleNotFoundError: No module named 'sklearn.preprocessing.label'”
产生这个的原因,是其实已经提醒我们了,
在版本大于0.21的情况下,函数发生了变化。
所以我们介绍第3中保存lightGBM的方式。
3. Booster
clf = lgb.LGBMClassifier( ... )
clf.fit(X_train, y_train, **fit_params)
clf.booster_.savemodel("dota_model.txt")
加载:
clf_loads = lgb.Booster(model_file='dota_model.txt')
probas = clf_fs.predict(test)
需要注意的是,这里的是predict而不是predict_proba,得到概率。
在Github上所述的(现已关闭) #1217问题中 ,从事该项目的Microsoft开发人员说 ,在这种情况下:
booster.predict()
实际上将返回概率
因此,不应该写predict_proba
。
LightGBM如何保存模型?相关推荐
- Keras框架下的保存模型和加载模型
在Keras框架下训练深度学习模型时,一般思路是在训练环境下训练出模型,然后拿训练好的模型(即保存模型相应信息的文件)到生产环境下去部署.在训练过程中我们可能会遇到以下情况: 需要运行很长时间的程序在 ...
- 随机森林 java_机器学习weka,java api调用随机森林及保存模型
工作需要,了解了一下weka的java api,主要是随机森林这一块,刚开始学习,记录下. 了解不多,直接上demo,里面有一些注释说明: package weka; import java.io.F ...
- python保存模型与参数_如何导出python中的模型参数
模型的保存和读取 1.tensorflow保存和读取模型:tf.train.Saver() .save()#保存模型需要用到save函数 save( sess, save_path, global_s ...
- python 保存模型、加载模型 Joblib
支持数据类型:字典,列表,numpy. 保存模型: saved_data = {"ROI": pts}joblib.dump(value=saved_data, filename= ...
- Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning
使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...
- mxnet保存模型,加载模型来预测新数据
mxnet保存模型,以及用模型来预测新数据 我们希望训练好之后的模型,可以保存下来,然后需要预测新数据的时候,就可以拿来用,可以这样做. 我们以线性回归的例子来讲: 1,训练并保存模型. impo ...
- PyTorch 保存模型结构参数及加载模型
PyTorch 保存模型结构参数及加载模型 保存模型与加载 保存模型分为两种方式: 保存整个网络结构和参数 保存整个网络的参数 # 1.保存并加载整个网络结构和参数 # 保存模型 torch.save ...
- Pytorch学习 - 保存模型和重新加载
Pytorch学习 - 保存和加载模型 1. 3个函数 2. 模型不同后缀名的区别 3. 保存和重载模型 参考资料: Pytorch官方文档链接 某博客 1. 3个函数 torch.save() : ...
- pytorch保存模型pth_Day159:模型的保存与加载
网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...
最新文章
- xp下安装sqlserver 2000的解决方案
- 【腾讯二面】5s内建立多少个mysql连接?
- Java中console类的简单用法
- kafka分区及副本在broker的分配
- ***解决UEditor编辑器无法插入第三方视频地址
- aspx写入mysql_Asp.net用户登陆数据库验证与注册写入数据库
- 我的爹,我的娘(2006-02-22 21:39:07)(新浪)
- IplImage* cvmat* mat 释放
- Community Server架构:博客业务详细分析(转)
- C Tricks(十五)—— 算符优先级的表示
- [转载] Java中自定义异常的声明与处理
- appscan 9.0.3.12 版本下载
- python 模拟鼠标键盘_如何用 python 模拟鼠标和键盘的操作
- win10磁盘管理_一步一步的详细讲解Win10磁盘分区教程
- React开发(250):react项目理解 ant design loding控制页面转圈加载
- 经历过CMMI后的体会和总结,为什么别人的时间总是比你的值钱
- Rimworld Mod制作教程2 创建数据定义
- 快速开发小程序——案例
- 遇到pdf文件损坏打不开要如何解决?
- MATLAB 一幅图两个纵坐标(附带功能:设置字体、颜色、字号、坐标轴显示范围、显示间隔、加百分号)
热门文章
- 浅谈对离散型随机变量期望的理解
- iOS-NSData与NSDictionary的互相转换
- AS3中 is,as,typeof的区别 .
- hdu_2063,二分图最大匹配的学习
- java适配器模式 场景_Java设计模式之《适配器模式》及应用场景
- JavaSE(十一)——多线程
- python flask服务_在python中Flask配置服务
- 计算机视觉与深度学习 | 使用HOG特征进行数字分类
- 220v变12v初级线圈匝数_12V升220V升压变压器线圈绕法计算
- android 的弱网测试,Android APP弱网测试问题和解决分析