从 sklearn RandomForestClassifier(不是来自个人 clf.estimators_)制作 graphviz

Make graphviz from sklearn RandomForestClassifier (not from individual clf.estimators_)

Python。学习。 RandomForestClassifier。在拟合 RandomForestClassifier 之后,它是否会产生某种可用于创建 graphviz 的单一 "best" "averaged" 共识树?

是的,我查看了文档。不,它什么也没说。否 RandomForestClassifier 没有 tree_ 属性。但是,您可以从 clf.estimators_ 获取森林中的个别树木,所以我知道我可以从其中一棵树中制作一个 graphviz。有一个example of that here。我什至可以给所有的树打分,然后在森林中找到得分最高的树,然后选择那棵……但这不是我要的。

我想根据 "averaged" 最终的随机森林分类器结果制作一个 graphviz。这可能吗?或者,最终分类器是否使用底层树来产生分数和预测?

A RandomForest是一种集成方法,使用平均来做预测,即使用所有拟合的子分类器,通常(但不总是)占多数投票合奏,得出最终预测。这通常适用于所有集成方法。正如 Vivek Kumar 在评论中指出的那样,预测不一定总是纯粹的多数票,但也可以是加权多数票,或者实际上是其他一些结合个人预测的奇特形式(对集成方法的研究正在进行中,尽管有些被搁置通过深度学习)。

没有可以绘制的平均树,只有根据整个数据集的随机子样本训练的决策树桩以及每个生成的预测。平均的是预测本身,而不是树/树桩。


为了完整起见,来自 wikipedia article:(强调我的)

Random forests or random decision forests1[2] are an ensemble learning method for classification, regression and other tasks, that operate by constructing a multitude of decision trees at training time and outputting the class that is the mode of the classes (classification) or mean prediction (regression) of the individual trees.

mode 是最常见的值,换句话说就是多数预测。