原文链接:http://tecdat.cn/?p=27050
随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树。
首先让我们在房价数据集上训练随机森林模型。
加载数据并训练随机森林。
代码语言:javascript复制X = pd.DataFrame(data, columns=feature_names)
让我们将森林中的树数设置为 100:
代码语言:javascript复制RandomForestRegressor(n_estimators=100)
决策树存储在 模型list
中的 estimators_
属性中 rf
。我们可以检查列表的长度,它应该等于 n_estiamtors
值。
len(estimators_)>>> 100
我们可以从随机森林中绘制第一棵决策树( 0
列表中有索引):
plot_tree(rf.estimators_[0])
这棵树太大,无法在一个图中将其可视化。
让我们检查随机森林中第一棵树的深度:
代码语言:javascript复制tree_.max_depth>>> 16
我们的第一棵树有 max_depth=16
. 其他树也有类似的深度。为了使可视化具有可读性,最好限制树的深度。让我们再次训练随机森林 max_depth=3
。
第一个决策树的可视化图:
代码语言:javascript复制plot_tree(rf.estimators_[0])
我们可以可视化第一个决策树:
代码语言:javascript复制viz
概括
我将向您展示如何可视化随机森林中的单个决策树。可以通过 estimators_
列表中的整数索引访问树。有时当树太深时,值得用 max_depth
超参数限制树的深度。
本文选自《Python在Scikit-Learn可视化随机森林中的决策树分析房价数据》。