sklearn训练后使用pickle、joblib保存与恢复模型

在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上测试,下面介绍的是Python中训练模型的保存和再使用。

scikit-learn已经有了模型持久化的操作,导入joblib即可.
from sklearn.externals import joblib
模型保存
>>> os.chdir("workspace/model_save")
>>> from sklearn import svm
>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)  
>>> clf.fit(train_X,train_y)
>>> joblib.dump(clf, "train_model.m")
通过joblib的dump可以将模型保存到本地,clf是训练的分类器
模型从本地调回
>>> new_clf = joblib.load("train_model.m")
通过joblib的load方法,加载保存的模型。
然后就可以在测试集上测试了
new_clf.predit(test_X)  #此处test_X为特征集

#注意:模型保存后会出现.npy文件,可能很多,预测的使用需要依赖这个文件,cp模型的时候需要一起cp,不然会报错。所以我选择使用pickle


二、使用pickle模块

from sklearn import svm
from sklearn import datasets
clf=svm.SVC()
iris=datasets.load_iris()
X,y=iris.data,iris.target
clf.fit(X,y)

#保存模型
import pickle
s=pickle.dumps(clf)
f=open('svm.model','w')
f.write(s)
f.close()

#使用模型预测
f2=open('svm.model','r')
s2=f2.read()
clf2=pickle.loads(s2)
clf2.predit(X,y)


  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值