我正在尝试扩展我的决策树以适应笔记本,但似乎无法正确扩展。我必须继续滚动以获得更好的视图。我可以帮忙解决一下如何解决这个问题。附件是它的外观图。
from graphviz import Source
from sklearn import tree
from IPython.display import SVG
graph = Source( tree.export_graphviz(dt_classifier, out_file=None, feature_names=X.columns))
SVG(graph.pipe(format='svg'))
答案 0 :(得分:1)
也许这不再重要了,因为这个问题已经公开了大约六个月了。但是,与其他83位读者一样,我还是偶然发现了它,并且我只是专门针对此问题制定了自己的方法。简单的方法是使用pydot包(pip install pydot
),然后添加默认大小。我也一直在使用%matplotlib inline
,以便它在笔记本中很好地显示,但不使用svg模块。以您的示例为例:
%matplotlib inline
from graphviz import Source
from sklearn import tree
import pydot
dot_data = tree.export_graphviz(dt_classifier, out_file=None, feature_names=X.columns))
pdot = pydot.graph_from_dot_data(dot_data)
# Access element [0] because graph_from_dot_data actually returns a list of DOT elements.
pdot[0].set_graph_defaults(size = "\"15,15\"")
graph = Source(pdot[0].to_string())
graph
我还向rotate=True
添加了export_graphviz
,使其以水平样式显示,树的根是直接可见的,并且易于遵循。当然,您可以和size
一起玩,以达到您可以接受的目标。