美文网首页
sklearn-9模型持久化

sklearn-9模型持久化

作者: ltochange | 来源:发表于2021-08-12 18:28 被阅读0次

    在用sklearn训练了模型之后,需要保存模型,以便日后使用。下面介绍了关于如何持久化sklearn模型的方法。

    可以使用python自带的pickle模块保存和加载模型,下面是用SVM做iris数据集分类的例子。

    >>> from sklearn import svm
    >>> from sklearn import datasets
    >>> clf = svm.SVC()
    >>> X, y= datasets.load_iris(return_X_y=True)
    >>> clf.fit(X, y)
    SVC()
    
    >>> import pickle
    >>> s = pickle.dumps(clf)
    >>> clf2 = pickle.loads(s)
    >>> clf2.predict(X[0:1])
    array([0])
    >>> y[0]
    0
    

    一般情况下,我们使用joblib来代替pickle,包括dump和load方法。joblib对于保存和加载内部包含大量numpy arry数据的对象更加高效。

    保存:

    >>> from joblib import dump, load
    >>> dump(clf, 'filename.joblib') 
    

    加载:

    clf = load('filename.joblib') 
    clf2.predict(X[0:1])
    print(y[0])
    0
    

    与上面输出结果一致,这里除了传入文件名,还可以传入文件对象

    翻译自:https://scikit-learn.org/stable/modules/model_persistence.html

    相关文章

      网友评论

          本文标题:sklearn-9模型持久化

          本文链接:https://www.haomeiwen.com/subject/lsalbltx.html