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文件格式

上一篇:驱动: 中断【1】linux中断流程


下一篇:Windows docker 搭建Nextcloud笔记