我只是想知道如何访问单个树并保存/加载RandomForestClassifier对象。我只想看看每棵树的结构,以确定哪个特征是重要的。分类器用于web应用程序,因此我希望将经过训练的分类器对象保存在文件或数据库中。最好的方法是什么?
最佳答案
你基本上有三个问题。
一。如何看到单独的树
您可以使用
rf = RandomForestClassifier()
rf.fit(X,y)
trees = rf.estimators_
2。特征重要性
为了确定特性的重要性,您最好的选择可能是使用
rf.feature_importances_
这将生成一个特征重要性的numpy数组,每列X一个,表示每个特征的相对重要性。
三。保存模型
保存一个合适的scikit学习模型或管道的简单方法是通过pickle。
byte_string = pickle.dumps(rf)
然后可以使用
rf = pickle.loads(byte_string)
如果您有额外的要求,它应该是ASCII,您可能希望使用base64。
text_model = base64.b64encode(byte_string)
关于python - Python scikit-learn RandomForestClassifier访问单个树以及如何保存它们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34619822/