从 sklearn 随机森林回归器可视化决策树

Posted

技术标签:

【中文标题】从 sklearn 随机森林回归器可视化决策树【英文标题】:Visualizing a decision tree from a sklearn random forest regressor 【发布时间】:2021-12-25 10:26:32 【问题描述】:

嗨,我有一个名为 rf 的随机森林。

documentation 告诉我rf.estimators 给出了树木的列表。我有兴趣可视化一个,或者如果我至少无法找出树有多少个节点。

我的直觉是 plot_tree 函数,显示 here 将能够在树上使用,但是当我运行时

rf.estimators_[0].plot_tree()

我明白了

AttributeError: 'DecisionTreeRegressor' object has no attribute 'plot_tree'

【问题讨论】:

【参考方案1】:

从 Sklearn 导入 tree 并将所需的估算器传递给 plot_tree 函数。

设置:

from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import make_regression
X, y = make_regression(n_features=4, n_informative=2,
                       random_state=0, shuffle=False)
regr = RandomForestRegressor(max_depth=2, random_state=0)
regr.fit(X, y)

print(regr.predict([[0, 0, 0, 0]]))
#[-8.32987858]

使用plot_tree

from sklearn import tree
tree.plot_tree(regr.estimators_[0])

【讨论】:

以上是关于从 sklearn 随机森林回归器可视化决策树的主要内容,如果未能解决你的问题,请参考以下文章

决策树、随机森林

sklearn RandomForest(随机森林)模型使用RandomSearchCV获取最优参数及模型效能可视化

分类算法 - 随机森林

具有分类输入的回归树或随机森林回归器

决策树与随机森林

随机森林与Adaboost