<p>这里有一行是给那些使用jupyter和sklearn(18.2+)的人的,你甚至不需要<code>matplotlib</code>。唯一的要求是<a href="https://github.com/xflr6/graphviz" rel="noreferrer">graphviz</a></p>
<pre><code>pip install graphviz
</code></pre>
<p>比运行(根据问题中的代码X是pandas数据帧)</p>
<pre><code>from graphviz import Source
from sklearn import tree
Source( tree.export_graphviz(dtreg, out_file=None, feature_names=X.columns))
</code></pre>
<p>这将以SVG格式显示。上面的代码生成Graphviz的<a href="https://graphviz.readthedocs.io/en/stable/api.html#source" rel="noreferrer">Source</a>对象(<a href="https://github.com/xflr6/graphviz/blob/master/graphviz/files.py" rel="noreferrer">source_code</a>-不可怕),该对象将直接在jupyter中呈现。</p>
<p>一些你可能会用它做的事情</p>
<p>以点唱显示:</p>
<pre><code>from IPython.display import SVG
graph = Source( tree.export_graphviz(dtreg, out_file=None, feature_names=X.columns))
SVG(graph.pipe(format='svg'))
</code></pre>
<p>另存为png:</p>
<pre><code>graph = Source( tree.export_graphviz(dtreg, out_file=None, feature_names=X.columns))
graph.format = 'png'
graph.render('dtree_render',view=True)
</code></pre>
<p>获取png图像,保存并查看:</p>
<pre><code>graph = Source( tree.export_graphviz(dtreg, out_file=None, feature_names=X.columns))
png_bytes = graph.pipe(format='png')
with open('dtree_pipe.png','wb') as f:
f.write(png_bytes)
from IPython.display import Image
Image(png_bytes)
</code></pre>
<p>如果要使用这个库,这里有指向<a href="https://graphviz.readthedocs.io/en/stable/examples.html" rel="noreferrer">examples</a>和<a href="https://graphviz.readthedocs.io/en/stable/manual.html" rel="noreferrer">userguide</a>的链接</p>