如何使用 export_graphviz 显示决策树图

Posted

技术标签:

【中文标题】如何使用 export_graphviz 显示决策树图【英文标题】:How to display decision tree plot using export_graphviz 【发布时间】:2017-04-27 11:47:25 【问题描述】:

NEWBIE

使用 microsoft 版本 10、python 3.5.2、dot - graphviz 版本 2.38.0(正确安装)

尝试使用 export_graphviz 可视化决策树。 觉得已经很接近了,就是做不到最后一步。

这里是示例代码

from sklearn.datasets import load_iris
from sklearn import tree
clf = tree.DecisionTreeClassifier()
iris = load_iris()
clf = clf.fit(iris.data, iris.target)
tree.export_graphviz(clf, out_file='tree.dot')

`

“tree.dot”文件被输出。双击时,它会调用microsoft word并显示以下文本。

digraph Tree 
node [shape=box] ;
0 [label="X[2] <= 2.45\ngini = 0.6667\nsamples = 150\nvalue = [50, 50, 50]"] ;
1 [label="gini = 0.0\nsamples = 50\nvalue = [50, 0, 0]"] ;
0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;
2 [label="X[3] <= 1.75\ngini = 0.5\nsamples = 100\nvalue = [0, 50, 50]"] ;
0 -> 2 [labeldistance=2.5, labelangle=-45, headlabel="False"] ;
3 [label="X[2] <= 4.95\ngini = 0.168\nsamples = 54\nvalue = [0, 49, 5]"] ;
2 -> 3 ;
4 [label="X[3] <= 1.65\ngini = 0.0408\nsamples = 48\nvalue = [0, 47, 1]"] ;
3 -> 4 ;
5 [label="gini = 0.0\nsamples = 47\nvalue = [0, 47, 0]"] ;
4 -> 5 ;
6 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]"] ;
4 -> 6 ;
7 [label="X[3] <= 1.55\ngini = 0.4444\nsamples = 6\nvalue = [0, 2, 4]"] ;
3 -> 7 ;
8 [label="gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]"] ;
7 -> 8 ;
9 [label="X[0] <= 6.95\ngini = 0.4444\nsamples = 3\nvalue = [0, 2, 1]"] ;
7 -> 9 ;
10 [label="gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]"] ;
9 -> 10 ;
11 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]"] ;
9 -> 11 ;
12 [label="X[2] <= 4.85\ngini = 0.0425\nsamples = 46\nvalue = [0, 1, 45]"] ;
2 -> 12 ;
13 [label="X[1] <= 3.1\ngini = 0.4444\nsamples = 3\nvalue = [0, 1, 2]"] ;
12 -> 13 ;
14 [label="gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]"] ;
13 -> 14 ;
15 [label="gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]"] ;
13 -> 15 ;
16 [label="gini = 0.0\nsamples = 43\nvalue = [0, 0, 43]"] ;
12 -> 16 ;

此示例代码可以正常工作

[http://scikit-learn.org/stable/auto_examples/tree/plot_iris.html#sphx-glr-auto-examples-tree-plot-iris-py][1]

提前致谢

【问题讨论】:

【参考方案1】:

这个答案对我很有用!谢谢阿什利!

对于 windows:dl MSI 并安装;在您的程序列表中找到 gvedit.exe;打开有问题的 .dot 文件;点击工具栏上的跑步者;转到图表 -> 设置;将输出文件类型更改为您喜欢的文件类型,然后按确定。它什么也没说,您只需在与 .dot 文件相同的目录中找到该文件。 – 阿什利 2015 年 3 月 26 日在 9:15

Graphviz: How to go from .dot to a graph?

【讨论】:

以上是关于如何使用 export_graphviz 显示决策树图的主要内容,如果未能解决你的问题,请参考以下文章

了解 export_graphviz 的决策树输出

如何阅读graphviz决策树?

在 Jupyter Notebook 中显示决策树时出错

export_graphviz 返回 NoneType

决策树可视化Graphviz中文乱码

如何将python生成的决策树利用graphviz画出来