蟒蛇。 Sklearn。 RandomForestClassifier
。拟合RandomForestClassifier
之后,它会产生某种可用于创建graphviz的单个“最佳”“平均”共识树吗?
是的,我查看了文档。不,它什么也没说。没有RandomForestClassifier
没有tree_
属性。但是,您可以从clf.estimators_
获取林中的各个树,因此我知道我可以从其中的一个进行绘制。有一个example of that here。我什至可以对所有树木评分,然后在森林中找到得分最高的树木,然后选择其中一棵……但这不是我要的。
我想从“平均”最终随机森林分类器结果中得到一个graphviz。这可能吗?还是最终的分类器使用基础树来生成分数和预测?
最佳答案
RandomForest
是一种合奏方法,使用平均来进行预测,即通常(但并非总是)在多数投票合奏中使用所有拟合的子分类器来得出最终预测。通常对于所有合奏方法都是如此。正如Vivek Kumar
在评论中指出的那样,预测不一定总是纯多数票,也可以是加权多数,或者也可以是将各个预测组合在一起的其他奇特形式(对集成方法的研究正在进行中,尽管在某种程度上被深层次的影响所包围)学习)。
没有可以绘制的平均树,只有从整个数据集的随机子样本中训练的决策树以及每个树产生的预测。平均的是预测本身,而不是树木/树桩。
为了完整起见,来自wikipedia article :(强调我的意思)
随机森林或随机决策森林1 [2]是用于分类,回归和其他任务的整体学习方法,通过在训练时构建大量决策树并输出作为类模式的类来进行操作(分类)或单个树的均值预测(回归)。
模式是最常见的值,换句话说就是多数预测。
关于python - 从sklearn RandomForestClassifier中创建graphviz(而不是从单独的clf.estimators_中),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44451586/