为了账号安全,请及时绑定邮箱和手机立即绑定

机器学习模型的保存与加载——基于pickle模块和Scikit-learn的joblib

标签:
机器学习

1.训练好一个Model以后需要保存和再次预测
2.有两个模块用来保存模型 : pickle和joblib
3.Sklearn的模型导出本质上是利用Python的Pickle机制。对Python的函数进行序列化,也就是把训练好的Transformer函数序列化并存为文件。

代码流程:
1.保存Model(注:save文件夹要预先建立,否则会报错)

joblib.dump(clf, ‘save/clf.pkl’)

2.读取Model

clf2 = joblib.load(‘save/clf.pkl’)

3.测试读取后的Model

print(clf2.predict(X[0:1]))**

实例一,SVM分类模型

import pickle 
from sklearn.externals import joblib
from sklearn.svm import SVC
from sklearn import datasets

#定义一个分类器
svm = SVC()

iris = datasets.load_iris()
X = iris.data
y = iris.target

#训练模型
svm.fit(X,y)

#1.保存成Python支持的文件格式Pickle
#在当前目录下可以看到svm.pickle
with open('svm.pickle','wb') as fw:
	pickle.dump(svm,fw)
#加载svm.pickle
with open('svm.pickle','rb') as fr:
	new_svm1 = pickle.load(fr)

# print (new_svm1.predict(X[0:1]))

#2.保存成sklearn自带的文件格式Joblib
joblib.dump(svm,'svm.pkl')
#加载svm.pkl
new_svm2 = joblib.load('svm.pkl')
print (new_svm2.predict(X[0:1]))

运行结果
图片描述
图片描述

————————————————————
补充:
图片描述
——————————————————————

实例二,随机森林模型

#随机森林
from sklearn.ensemble  import RandomForestClassifier
from sklearn.datasets  import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics   import classification_report 
from sklearn.externals import joblib

#1.保存模型
data = load_iris()
X,y = data["data"],data["target"]
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.33,random_state = 42)
clf = RandomForestClassifier(max_depth = 2,random_state = 0)
clf.fit(X_train,y_train)

#print (clf.feature_importances_)
"""
print (
	classification_report(y_test,clf.predict(X_test),target_names = data["target_names"])
	)
"""
joblib.dump(clf,"classification.pkl")


#2.加载模型
clf2 = joblib.load('classification.pkl')
print (clf2.feature_importances_)
print (
	classification_report(y,clf.predict(X),target_names = data["target_names"])
	)

运行结果1
图片描述
运行结果2
图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消