在 Colaboratory 中可视化决策树

Visualise a decision tree in Colaboratory

使用 Google Colab 可视化决策树的最佳方法是什么?来自 'dtreeviz'(例如 Github)的可视化非常简洁,但是当 运行 像

!pip install dtreeviz

from sklearn.datasets import *
from sklearn import tree
from dtreeviz.trees import *

接着是

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 做些什么?

感谢任何帮助!

简答

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

    from IPython.core.display import display, HTML
    display(HTML(viz.svg()))
    

更长的答案

  • dtreeviz view() 在您的临时目录中创建一个 SVG 文件
  • 此文件被传递到 graphviz 库,该库根据您的 OS
  • 打开它
  • Google colab 被识别为 linux 并尝试通过默认查看应用程序打开 SVG 文件
  • 如果你不是 运行 本地的笔记本(可能 Google 服务器现在有几个打开的 SVG 图像或一些错误消息)
  • 简答中的代码只是获取SVG代码,没有保存,然后显示在notebook中