从 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]
from sklearn import tree
tree.plot_tree(regr.estimators_[0])
嗨,我有一个名为 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]
from sklearn import tree
tree.plot_tree(regr.estimators_[0])