Scikit learn 在Colaboratory中可视化决策树

Scikit learn 在Colaboratory中可视化决策树,scikit-learn,visualization,google-colaboratory,decision-tree,dtreeviz,Scikit Learn,Visualization,Google Colaboratory,Decision Tree,Dtreeviz,使用Google Colab可视化决策树的最佳方法是什么?“dtreeviz”(例如)的可视化效果非常好,但在运行类似 !pip install dtreeviz 及 接 classifier = tree.DecisionTreeClassifier(max_depth=4) cancer = load_breast_cancer() classifier.fit(cancer.data, cancer.target) viz = dtreeviz(classifier,

使用Google Colab可视化决策树的最佳方法是什么?“dtreeviz”(例如)的可视化效果非常好,但在运行类似

!pip install dtreeviz

classifier = tree.DecisionTreeClassifier(max_depth=4)
cancer = load_breast_cancer()
classifier.fit(cancer.data, cancer.target)
viz = dtreeviz(classifier,
              cancer.data,
              cancer.target,
              target_name='cancer',
              feature_names=cancer.feature_names, 
              class_names=["malignant", "benign"],
              fancy=False )  

viz.view()
我明白了

ExecutableNotFound: failed to execute ['dot', '-Tsvg', '-o', '/tmp/DTreeViz_62.svg', '/tmp/DTreeViz_62'], make sure the Graphviz executables are on your systems' PATH
哪一个可能与Colab通过我的g-drive运行有关


感谢您的帮助

简短回答

  • 确保通过
    安装了
    graphviz
    !apt get install graphviz
  • 您可以通过
    viz.SVG()
  • 在IPython的
    HTML
    中包装输出,然后调用
    display
    将其显示在笔记本中

    from IPython.core.display import display, HTML
    display(HTML(viz.svg()))
    
更长的答案

  • dtreeviz
    view()
    在临时目录中创建一个SVG文件
  • 此文件将被传递到
    graphviz
    库,该库将根据您的操作系统打开它
  • Google colab被识别为
    linux
    ,它试图通过默认的查看应用程序打开SVG文件
  • 如果您没有在本地运行笔记本,那么最后一步将毫无意义(可能Google服务器现在有两个打开的SVG图像或一些错误消息)
  • 简短答案中的代码只获取SVG代码而不保存它,然后将其显示在笔记本中

您是否尝试过
!apt get install graphviz
?@MaximilianPeters,谢谢-我现在就试过了。仍然没有可视化返回-但现在也没有错误消息。哈,我们正在到达那里!您可以尝试从IPython.core.display导入显示,HTML;display(HTML(即svg())?天哪,持久化高手。而且……你已经解决了它!我在你的代码末尾添加了一个“)”。
from IPython.core.display import display, HTML
display(HTML(viz.svg()))