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 等价于啥?我想可视化我的随机森林的结果的主要内容,如果未能解决你的问题,请参考以下文章