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