可以用Joblib倾倒多个对象吗? [英] Can use joblib dump many object?

查看:28
本文介绍了可以用Joblib倾倒多个对象吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个代码。我可以使用joblib.ump将‘pca’和‘svm_clf’保存到一个文件吗?如果没有,还有其他方法吗?

from sklearn.svm import SVC
from sklearn.externals import joblib
from sklearn import decomposition
from sklearn import svm

X = [[1,3,4,5,6,7,8,7,0],[1,3,4,5,6,7,9,5,1]]
Y = [1,0]
#pca
pca = decomposition.PCA(0.98)
X_new = pca.fit_transform(X)
svm_clf = svm.LinearSVC()
#svm model
svm_clf = SVC(C=1, kernel='rbf')
svm_clf.fit(X_new, Y)
#save model
joblib.dump(pca, 'model.sav')
joblib.dump(svm_clf, 'model.sav')

推荐答案

您只需使用:

joblib.dump([pca, svm_clf], 'model.sav', compress=1)

然后使用如下模型:

pca, svm_clf = joblib.load('model.sav')

如果您想要同时使用这两个模型并转储管道,可能更好的方法是定义管道:

from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(pca, svm_clf)
joblib.dump(pipeline, 'model.sav')

这篇关于可以用Joblib倾倒多个对象吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆