原文链接:http://tecdat.cn/?p=27050
随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树(点击文末“阅读原文”获取完整代码数据)。
相关视频
首先让我们在房价数据集(查看文末了解数据获取方式)上训练随机森林模型。
加载数据并训练随机森林。
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\])
这棵树太大,无法在一个图中将其可视化。
点击标题查阅往期内容
左右滑动查看更多
让我们检查随机森林中第一棵树的深度:
tree_.max_depth>>> 16
我们的第一棵树有 max_depth=16
. 其他树也有类似的深度。为了使可视化具有可读性,最好限制树的深度。让我们再次训练随机森林 max_depth=3
。
第一个决策树的可视化图:
plot\_tree(rf.estimators\_\[0\])
我们可以可视化第一个决策树:
viz
概括
我将向您展示如何可视化随机森林中的单个决策树。可以通过 estimators_
列表中的整数索引访问树。有时当树太深时,值得用 max_depth
超参数限制树的深度。
数据获取
在下面公众号后台回复“房价数据”,可获取完整数据。
本文中分析的数据、代码分享到会员群,扫描下面二维码即可加群!
点击文末“阅读原文”
获取全文完整资料。
本文选自《Python在Scikit-Learn可视化随机森林中的决策树分析房价数据》。
点击标题查阅往期内容