Python 中的 rpart.plot 等价于啥?我想可视化我的随机森林的结果

Posted

技术标签:

【中文标题】Python 中的 rpart.plot 等价于啥?我想可视化我的随机森林的结果【英文标题】:What is the equivalent to rpart.plot in Python? I want to visualize the results of my random forestPython 中的 rpart.plot 等价于什么?我想可视化我的随机森林的结果 【发布时间】:2015-09-03 09:01:00 【问题描述】:

[R] 中,您可以像这样可视化随机森林的结果(图片无耻地从互联网上窃取)。 Python中的等价物是什么?我可以使用 feature_importances_ 获得我的 sklearn 随机森林分类的​​结果,但我想知道他们将结果发送到哪个方向。我意识到在森林深处我无法检查每个分支,但也许它可以衡量概率?谢谢。

【问题讨论】:

不要使用外国IP!尊重版权(或copyleft:说明许可) 我不认为 rpart 做随机森林。它使单个决策树。没有简单的方法可以为随机森林制作这样的图表,因为随机森林包含许多决策树,其中一些甚至可能使用输入变量的不同子集。 我认为模式结果本身就是一棵树,这不是真的吗?它最终不会在预测中使用决策树结构吗? 它使用许多弱树分类器进行多数投票,每个树分类器都有不同的阈值参数。这就是为什么不可能在随机森林中生成决策树图的原因。 对不起,@JianxunLi 吹毛求疵,但它使用了许多 strong 树分类器。这是 bagging(随机森林正在做的事情)和 boosting(使用弱学习器)之间的一个重要区别。 【参考方案1】:

使用tree.export_graphviz的参数,看这个例子和图片结果:

tree.export_graphviz(clf, out_file=out, feature_names=['alcohol', 'income'],class_names=['0','1'], 
                     filled=True, rounded=True, special_characters=True)

graph=pydotplus.graph_from_dot_data(out.getvalue())
Image(graph.create_png())

图像结果

参见jupyter notebook on github 和project details。

【讨论】:

有没有办法在 Python 中省略这些值?我发现这些图表在我的用例中无法阅读。

以上是关于Python 中的 rpart.plot 等价于啥?我想可视化我的随机森林的结果的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 正则表达式中的 ?= 等价于啥

rpart更改节点中的文本大小

Angular 6 中 AngularJS 的 ngcookie 等价于啥? [关闭]

如何在 R 中绘制/可视化 C50 决策树?

python中的GNU拆分等效于啥? [复制]

RPART 模型在拟合模型时忽略变量