zoukankan      html  css  js  c++  java
  • sklearn模型保存

    使用sklearn训练完模型之后,只有将模型持久化到硬盘上,才能方便下次直接使用。

    第一种方式:使用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)  
    SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
        decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
        max_iter=-1, probability=False, random_state=None, shrinking=True,
        tol=0.001, verbose=False)
    
    >>> import pickle
    >>> s = pickle.dumps(clf)
    >>> clf2 = pickle.loads(s)
    >>> clf2.predict(X[0:1])
    array([0])
    >>> y[0]
    0
    

    第二种方式:使用sklearn.external.joblib

    >>> from sklearn.externals import joblib
    >>> joblib.dump(clf, 'filename.pkl')
    ...
    加载时
    >>> clf = joblib.load('filename.pkl') 
    

    预测模型标记语言:PMML

    PMML利用XML描述和存储数据挖掘模型,是一个已经被W3C所接受的标准。
    它以纯文本形式存储模型数据,因此跨平台、跨语言性能很好。当模型部署时,往往需要使用此种语言。
    PMML是一种标准,许多机器学习库都支持将模型导出为PMML。

    决策树导出为图像数据

    sklearn.tree包中可以将决策树导出为dot类型的文件,dot类型的文件是一种描述图的纯文本文件,它可以使用文本编辑器打开查看,里面是一堆定义结点和边的命令。

    from sklearn import tree, datasets
    
    data = datasets.load_iris()
    x = data['data']
    y = data['target']
    clf = tree.DecisionTreeClassifier()
    clf.fit(x, y)
    tree.export_graphviz(clf, out_file="haha.dot")
    
    

    参考资料

    model persistence
    PMML
    知乎讨论
    关于DOT文件格式

  • 相关阅读:
    SSR 第二篇,搭建Vue SSR程序
    SSR 第一篇,搭建简单的SSR程序
    数组的所有方法整理学习
    CustomEvent 使用
    VUE CSS module
    eslint Expected linebreaks to be 'LF' but found 'CRLF'
    利用Object.freeze() 提升性能
    vue 项目开启gzip 压缩和性能优化
    [转]Ext Grid控件的配置与方法
    ExtJS renderer(转)
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/7887850.html
Copyright © 2011-2022 走看看