前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >joblib 保存训练好的模型并快捷调用

joblib 保存训练好的模型并快捷调用

作者头像
萝 卜
发布2022-05-12 20:00:55
1.2K0
发布2022-05-12 20:00:55
举报

作者 l 萝卜

前言

用已知数据集训练出一个较为精准的模型是一件乐事,但当关机或退出程序后再次接到 “ 用新的格式相同的数据来进行预测或分类 ” 这样的任务时;又或者我们想把这个模型发给同事并让TA用于新数据的预测......

难道又要自己或他人重复运行用于训练模型的源数据和代码吗?

所以这篇推文将展示如何仅用短短的两行代码,便能将优秀的模型下载并加载用于新数据的简便快捷的操作,让效率起飞😀

快上车~

joblib 下载/加载模型

01 下载最佳模型

反复调优后,我们通常能够获得一个相对精准的模型。常见的做法是将其保存在一个变量中用于后续的预测。这里以往期推文为例:原理+代码|深入浅出Python随机森林预测实战

得到相对最优模型后,我们便可用变量将其存起来并进行预测

代码语言:javascript
复制
# 将最佳模型存储在变量 best_est 中
best_est = rfc_cv.best_estimator_

当出现文章开头的问题时,重新运行一遍"best_est = rfc_cv.best_estimator_"这行前的所有代码显然是很不明智的。这个时候我们便可以通过 sklearn 的 joblib 包来把我们训练好的模型下载成可执行的代码文件(拓展名为 .m)供后续使用

代码语言:javascript
复制
from sklearn.externals import joblib
# joblib 中的 dump 函数用于下载模型
joblib.dump(value=best_est, filename='mybest_dt_model.m')

仅仅两行就搞定,接着我们便能看到当前目录出现如下图标的文件~

02 加载模型并用于预测

现在楼上的运营部那个懂一点点 Python 的同事已经收到了我发给TA的 m 文件,现在TA只需要一行代码就可将其加载出来,而后便可愉快的使用我训练好的模型了

代码语言:javascript
复制
# 加载模型
model = joblib.load(filename='mybest_dt_model.m')

小结&注意

本文展示了如何通过 joblib 的短短三行代码便将自己的心血下载成可执行文件供自己或别人后续使用,但这其中也有一些值得注意的地方:

  • 加载下载好的模型用于预测时,用到的数据的格式应与训练该模型时的一致(变量个数、名称与格式等)。
  • 在从sklearn.externals引入joblib函数时,常会出现如下报错:from sklearn.externalsimport joblib ImportError: cannot import name 'joblib',通常joblib导入不成功时主要是sklearn版本的问题,我们可以先卸载原有的sklearn,pip uninstall joblibscikit-leran sklearn,再安装指定版本的sklearn,pip install Scikit-learn==0.20.4 即可。

今天就先到这里,我们下次见😀

P.S:多谢大家的支持,使我成功开通了广告/流量主。这里推荐笔者萝卜两年前读过的一本好书,它的影响力一直持续到现在,其中许多值得深思的如:商品摆放与定价、合作与说服技巧、如何更好决策及环境与自我的影响等等,对自我的认识与塑造,以及人际关系的改善都很有帮助,希望这本书同样能带给你积极的改变!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据分析与商业实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • joblib 下载/加载模型
  • 小结&注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档