
随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树(点击文末“阅读原文”获取完整代码数据)。
相关视频
首先让我们在房价数据集(查看文末了解数据获取方式)上训练随机森林模型。
加载数据并训练随机森林。
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 超参数限制树的深度。