繁体   English   中英

在 scikit 中保存决策树模型

[英]Save a decision tree model in scikit

我正在使用 Python 中的 Scikit-Learn 构建决策树。 我已经在特定数据集上训练了模型,现在我想保存这个决策树,以便以后可以使用它(在新数据集上)。 任何人都知道如何做到这一点?

取自本教程的模型持久性部分:

可以使用 Python 的内置持久性模型在 scikit 中保存模型,即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, degree=3, gamma=0.0,
  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])
array([0])
>>> y[0]
0

目前没有可靠的方法来做到这一点。 虽然酸洗确实有效,但它还是不够好,因为不能保证您的酸洗数据可以通过更高版本的 scikit-learn 正确解压。

引自: http : //scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations

保存在一个版本的 scikit-learn 中的模型可能无法加载到另一个版本中。

我使用joblib如下:

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

但是,需要考虑这些安全性和可维护性的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM