【问题标题】:Can use joblib dump many object?可以使用 joblib 转储许多对象吗?
【发布时间】:2019-05-26 10:35:09
【问题描述】:

我有这个代码。我可以使用 joblib.dump 将“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')

【问题讨论】:

    标签: python svm pca joblib


    【解决方案1】:

    你可以简单地使用:

    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.load('model.sav')调用模型时,我可以用它来预测一个普通的SVM模型吗?
    • 相当简单易懂的答案。感谢并点赞!
    猜你喜欢
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多