用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如何保存模型?相关推荐

  1. Keras框架下的保存模型和加载模型

    在Keras框架下训练深度学习模型时,一般思路是在训练环境下训练出模型,然后拿训练好的模型(即保存模型相应信息的文件)到生产环境下去部署.在训练过程中我们可能会遇到以下情况: 需要运行很长时间的程序在 ...

  2. 随机森林 java_机器学习weka,java api调用随机森林及保存模型

    工作需要,了解了一下weka的java api,主要是随机森林这一块,刚开始学习,记录下. 了解不多,直接上demo,里面有一些注释说明: package weka; import java.io.F ...

  3. python保存模型与参数_如何导出python中的模型参数

    模型的保存和读取 1.tensorflow保存和读取模型:tf.train.Saver() .save()#保存模型需要用到save函数 save( sess, save_path, global_s ...

  4. python 保存模型、加载模型 Joblib

    支持数据类型:字典,列表,numpy. 保存模型: saved_data = {"ROI": pts}joblib.dump(value=saved_data, filename= ...

  5. Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  6. mxnet保存模型,加载模型来预测新数据

    mxnet保存模型,以及用模型来预测新数据 我们希望训练好之后的模型,可以保存下来,然后需要预测新数据的时候,就可以拿来用,可以这样做.  我们以线性回归的例子来讲:  1,训练并保存模型. impo ...

  7. PyTorch 保存模型结构参数及加载模型

    PyTorch 保存模型结构参数及加载模型 保存模型与加载 保存模型分为两种方式: 保存整个网络结构和参数 保存整个网络的参数 # 1.保存并加载整个网络结构和参数 # 保存模型 torch.save ...

  8. Pytorch学习 - 保存模型和重新加载

    Pytorch学习 - 保存和加载模型 1. 3个函数 2. 模型不同后缀名的区别 3. 保存和重载模型 参考资料: Pytorch官方文档链接 某博客 1. 3个函数 torch.save() : ...

  9. pytorch保存模型pth_Day159:模型的保存与加载

    网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...

最新文章

  1. Android Touch事件传递机制解析 (推荐)
  2. linux系统远程教程,Linux下实现远程协助
  3. [php] in_array 判断问题(坑)
  4. enum 有什么好处_林卡尔|先买地板后装修的三大好处
  5. 模为2的逆元是什么_两种求模m逆元的方法
  6. 年后开课 | 第 4 期临床基因组家系分析,同时解决科研和临床问题
  7. har文件解析工具_嵌入式MCU也能跑AI?STM32 Cube.AI工具包使用初探
  8. 怎么彻底关闭计算机应用程序,电脑自动关机前如何强行关闭应用程序
  9. 原生js更改html,原生js更改css样式的两种方式
  10. 红帽学习笔记[RHCSA] 第一课[Shell、基础知识]
  11. 一信通短信接口对接_吉信通:短信接口是什么?
  12. qt 实现、区分鼠标单击,双击事件
  13. 6个免抠素材网站,免费可商用
  14. 医院计算机考核制度,医院信息科考核内容标准细则
  15. FPA色彩性格测试题:黄 红 蓝 绿 你是哪个?
  16. 开发步骤_APP开发和上市的步骤
  17. 51nod1463 找朋友
  18. vlan的tagged、untagged
  19. jacob java excel_12、借助Jacob实现Java打印报表(Excel、Word)
  20. 手机不显示网络信号连接到服务器是怎么回事,手机连接不上网络怎么办

热门文章

  1. C# 调用WSDL接口及方法
  2. [QPlugins]学习大纲
  3. Hibernate之N+1问题
  4. Tomcat tomcat-users.xml详解
  5. 用setTimeout实现setInterval的功能
  6. 2012 Stackoverflow meetup at Shanghai PRC
  7. JavaScript版几种常见排序算法
  8. OriginPro 2021 for win 科学绘图软件最新版 中英文 完美稳定附下载安装使用教程
  9. 什么是PROTAC技术?
  10. Mac配置Java环境变量等