如何从 python 输出 RandomForest 分类器?

Posted

技术标签:

【中文标题】如何从 python 输出 RandomForest 分类器?【英文标题】:How to output RandomForest Classifier from python? 【发布时间】:2014-05-24 21:45:42 【问题描述】:

我已经从 Python Sckit 学习模块训练了一个 RandomForestClassifier,它具有非常大的数据集,但问题是我如何才能保存这个模型并让其他人最终应用它。 谢谢!

【问题讨论】:

见scikit-learn.org/stable/tutorial/basic/… 【参考方案1】:

推荐的方法是使用joblib,这将导致文件比pickle小得多:

from sklearn.externals import joblib
joblib.dump(clf, 'filename.pkl') 

#then your colleagues can load it

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

见online docs

【讨论】:

【参考方案2】:

您是否尝试过使用 Pickle 模块对 RandomForestClassifier 进行酸洗,然后将其保存到磁盘?

这是一个基于 pickle 文档的示例:

import pickle

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

“其他人”然后可以重新加载腌制对象,如下所示:

import pickle

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

【讨论】:

joblib 是首选且不那么冗长(即较小的文件):scikit-learn.org/stable/tutorial/basic/…

以上是关于如何从 python 输出 RandomForest 分类器?的主要内容,如果未能解决你的问题,请参考以下文章

使用 pandas [Python] 提取 xls 文件后如何从输出中删除编号

如何从 python 中的多处理中获取函数输出?

如何从 python 结果创建“.scr”或“.txt”输出文件

如何从 Python subprocess.check_output() 捕获异常输出?

如何从 python 调用 nikto 并将输出作为字符串返回

Python - 如何从频谱图输出中获得相同数量的行?