2024-05-17 10:11:17 发布
网友
我正在使用Scikit在Python中学习构建决策树。我已经在一个特定的数据集上训练了这个模型,现在我想保存这个决策树,以便以后可以使用它(在一个新的数据集上)。有人知道怎么做吗
从this tutorial的模型持久性部分可以看出:
通过使用Python的内置持久性模型,即pickle,可以在scikit中保存一个模型:
>>> 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
目前还没有可靠的方法来做到这一点。虽然pickle确实有效,但它还不够好,因为不能保证用更高版本的scikit learn正确地取消pickle数据
引自:http://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations
Models saved in one version of scikit-learn might not load in another version.
我使用joblib如下:
joblib
>>> from joblib import dump, load >>> dump(clf, 'filename.joblib') >>> clf = load('filename.joblib')
但是,需要考虑these安全性和可维护性限制。
从this tutorial的模型持久性部分可以看出:
通过使用Python的内置持久性模型,即pickle,可以在scikit中保存一个模型:
目前还没有可靠的方法来做到这一点。虽然pickle确实有效,但它还不够好,因为不能保证用更高版本的scikit learn正确地取消pickle数据
引自:http://scikit-learn.org/stable/modules/model_persistence.html#security-maintainability-limitations
我使用
joblib
如下:但是,需要考虑these安全性和可维护性限制。
相关问题 更多 >
编程相关推荐