Python scikit-learn RandomForestClassifier访问单个树以及如何保存它们

时间:2016-01-05 19:33:22

标签: python scikit-learn

我只是想知道如何访问单个树并保存/加载RandomForestClassifier对象。我只是想看看每棵树的结构,以确定哪个特征很重要。分类器用于Web应用程序,因此我希望将训练好的分类器对象保存在文件或数据库中。什么是保存它的最佳方法?

1 个答案:

答案 0 :(得分:4)

你基本上有三个问题。

<强> 1。如何查看单个树

您可以使用<{1}}使用

查看单个树木
RandomForestClassifier

<强> 2。功能重要性

为了确定特征重要性,最好的选择可能是使用

rf = RandomForestClassifier()
rf.fit(X,y) 
trees = rf.estimators_

这将生成一个numpy特征重要性数组,每列X一个,表示每个特征的相对重要性。

第3。保存您的模型

保存合适的scikit-learn模型或管道的简单方法是通过泡菜。

rf.feature_importances_

然后可以使用

加载
byte_string = pickle.dumps(rf)

如果您有其他要求,它应该是ASCII,您可能需要使用base64。

rf = pickle.loads(byte_string)