数据分享|Python在Scikit-Learn可视化随机森林中的决策树分析房价数据

2022-06-08 17:01:33 浏览数 (1)

原文链接:http://tecdat.cn/?p=27050

随机森林是决策树的集合。在这篇文章中,我将向您展示如何从随机森林中可视化决策树。

首先让我们在房价数据集上训练随机森林模型。

加载数据并训练随机森林。

代码语言:javascript复制
X = pd.DataFrame(data, columns=feature_names)

让我们将森林中的树数设置为 100:

代码语言:javascript复制
RandomForestRegressor(n_estimators=100)

决策树存储在 模型list 中的 estimators_ 属性中 rf 。我们可以检查列表的长度,它应该等于 n_estiamtors 值。

代码语言:javascript复制
len(estimators_)>>> 100

我们可以从随机森林中绘制第一棵决策树( 0 列表中有索引):

代码语言:javascript复制
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可视化随机森林中的决策树分析房价数据》。

0 人点赞