【问题标题】:Trying to view decision tree in my notebook试图在我的笔记本中查看决策树
【发布时间】:2018-09-20 20:31:10
【问题描述】:

我正在尝试扩展我的决策树以适应笔记本,但它似乎无法正确扩展。我必须继续滚动以获得更好的视图。我可以就如何解决这个问题提供一些帮助。附上一张它的样子。

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'))

【问题讨论】:

    标签: pandas machine-learning scikit-learn graphviz


    【解决方案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
    

    我还在export_graphviz 中添加了rotate=True,以便它以水平样式显示,树的根部直接可见,并且更易于跟踪。当然,你也可以玩转size,以达到你可以接受的程度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-26
      • 2014-07-16
      • 2018-05-04
      • 2011-08-06
      • 1970-01-01
      • 2017-09-28
      • 2020-07-12
      • 2021-12-28
      相关资源
      最近更新 更多