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

Visualizing a decision tree from a sklearn random forest regressor

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

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

我的直觉是显示 here 的 plot_tree 函数可以在树上使用,但是当我 运行

rf.estimators_[0].plot_tree()

我明白了

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

从 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])