随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树(点击文末“阅读原文”获取完整代码数据)。
相关视频
首先让我们在房价数据集(查看文末了解数据获取方式)上训练随机森林模型。
加载数据并训练随机森林。
X = pd.DataFrame(data, columns=feature_names)
让我们将森林中的树数设置为 100:
RandomForestRegressor(n_estimators=100)
决策树存储在 模型list
中的 estimators_
属性中 rf
。我们可以检查列表的长度,它应该等于 n_estiamtors
值。
len(estimators_)>>> 100
我们可以从随机森林中绘制第一棵决策树( 0
列表中有索引):
plot\_tree(rf.estimators\_\[0\])
这棵树太大,无法在一个图中将其可视化。
【视频】从决策树到随机森林:R语言信用卡违约分析信贷数据实例|数据分享
01
02
03
04
让我们检查随机森林中第一棵树的深度:
tree_.max_depth>>> 16
我们的第一棵树有 max_depth=16
. 其他树也有类似的深度。为了使可视化具有可读性,最好限制树的深度。让我们再次训练随机森林 max_depth=3
。
第一个决策树的可视化图:
plot\_tree(rf.estimators\_\[0\])
我们可以可视化第一个决策树:
viz
我将向您展示如何可视化随机森林中的单个决策树。可以通过 estimators_
列表中的整数索引访问树。有时当树太深时,值得用 max_depth
超参数限制树的深度。