机器学习 |
您所在的位置:网站首页 › 下载文件打开与保存区别 › 机器学习 |
文章目录
机器学习 — 训练好的模型保存与加载(joblib、pickle)一、前言二、实现方式1. 方式一:joblib2. 方式二:pickle
机器学习 — 训练好的模型保存与加载(joblib、pickle)
一、前言
当我们训练好一个模型model后,如果在其他程序中或者下次想继续使用这个model,我们就需要把这个model保存下来,下次使用时直接导入就好了,不需要重新训练。 二、实现方式 1. 方式一:joblib采用joblib模块来保存model,首先安装joblib: pip install joblib核心代码如下 import joblib # 保存 model joblib.dump(regr, '../../model/regr.pkl') # 加载 model clf = joblib.load('../../model/regr.pkl')完整示例代码如下: #!/usr/bin/env python # encoding: utf-8 ''' @Author : pentiumCM @Email : *********@qq.com @Software: PyCharm @File : linear_regression.py @Time : 2019/12/19 0:19 @desc : 线性回归示例 ''' from matplotlib import pyplot as plot import numpy as np from sklearn import linear_model import joblib as jl # 构建训练数据 X = np.array([48, 57, 50, 54, 64, 61, 43, 59]) # 体重 Y = np.array([165, 165, 157, 170, 175, 165, 155, 170]) # 身高 # 调整训练数据的维度 X_train = np.reshape(X, (-1, 1)) Y_train = np.reshape(Y, (-1, 1)) # 建立线性模型 regr = linear_model.LinearRegression() regr.fit(X_train, Y_train) # 保存 model jl.dump(regr, '../../model/regr.pkl') print("模型保存成功") # 加载 model clf = jl.load('../../model/regr.pkl') Y_pred = clf.predict(X_train) # 可视化 # 1.训练集数据 plot.scatter(X_train, Y_train, color='green') # 2.线性预测数据 plot.plot(X_train, Y_pred, color='red') plot.show()关于pkl文件: 生成的model文件是pkl文件,pkl是python的一种存储文件,需要安装python打开,读取pkl文件需要import pickle包。 所以下面介绍直接使用python自带的pickle来保存训练好的model 2. 方式二:pickle使用python自带的pickle,来保存和加载模型,核心代码如下 import pickle # 保存 model f = open('../../model/regr2.pkl', 'wb') pickle.dump(regr, f) f.close() # 加载 model f = open('../../model/regr2.pkl', 'rb') clf = pickle.load(f) f.close()完整示例代码如下: #!/usr/bin/env python # encoding: utf-8 ''' @Author : pentiumCM @Email : *********@qq.com @Software: PyCharm @File : linear_regression.py @Time : 2019/12/19 0:19 @desc : 线性回归示例 ''' from matplotlib import pyplot as plot import numpy as np from sklearn import linear_model import pickle # 构建训练数据 X = np.array([48, 57, 50, 54, 64, 61, 43, 59]) # 体重 Y = np.array([165, 165, 157, 170, 175, 165, 155, 170]) # 身高 # 调整训练数据的维度 X_train = np.reshape(X, (-1, 1)) Y_train = np.reshape(Y, (-1, 1)) # 建立线性模型 regr = linear_model.LinearRegression() regr.fit(X_train, Y_train) # 保存 model f = open('../../model/regr2.pkl', 'wb') pickle.dump(regr, f) f.close() print("模型保存成功") # 加载 model f = open('../../model/regr2.pkl', 'rb') clf = pickle.load(f) f.close() Y_pred = clf.predict(X_train) # 可视化 # 1.训练集数据 plot.scatter(X_train, Y_train, color='green') # 2.测试数据 plot.plot(X_train, Y_pred, color='red') plot.show()注意: pickle.dump(regr, f)和pickle.load(f)要一起使用,不然会报以下问题: _pickle.UnpicklingError: invalid load key, ‘\x00’. |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |