如何从Python输出随机森林分类器?

13

我已经使用Python Sckit Learn模块训练了一个随机森林分类器,使用的是非常大的数据集。但问题是,我该如何保存这个模型并让其他人在他们的端上应用呢? 谢谢!


请查看http://scikit-learn.org/stable/tutorial/basic/tutorial.html#model-persistence。 - EdChum
2个回答

28
推荐的方法是使用joblib,这将生成比pickle文件更小的文件。
from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl') 

#then your colleagues can load it

clf = joblib.load('filename.pkl')

查看在线文档

5

您尝试过使用Pickle模块对RandomForestClassifier进行腌制,然后将其保存到磁盘吗?

以下是基于pickle文档的示例:

import pickle

classifier = RandomForestClassifier(etc)
output = open('classifier.pkl', 'wb')
pickle.dump(classifier, output)
output.close()

“其他人”可以按照以下方式重新加载已经被pickle的对象:
import pickle

f = open('classifier.pkl', 'rb')
classifier = pickle.load(f)
f.close()

1
joblib 是首选且更简洁(即文件更小)的:http://scikit-learn.org/stable/tutorial/basic/tutorial.html#model-persistence - EdChum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接