【问题标题】:Visualise a decision tree in Colaboratory在 Colaboratory 中可视化决策树
【发布时间】:2019-04-09 04:55:48
【问题描述】:

使用 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

通过我的 g-drive 运行的 Colab 可以做哪些事情?

任何帮助表示赞赏!

【问题讨论】:

  • 你试过!apt-get install graphviz吗?
  • @MaximilianPeters,谢谢 - 我现在试过了。仍然没有返回可视化 - 但现在也没有错误消息。
  • 哈,我们到了!你可以试试from IPython.core.display import display, HTML; display(HTML(viz.svg())吗?
  • 天哪,坚持不懈的顶级人物。而且......你已经解决了!我在您的代码末尾添加了一个“)”。

标签: scikit-learn visualization google-colaboratory decision-tree dtreeviz


【解决方案1】:

简答

  • 确保通过!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 库,该库会根据您的操作系统打开它
  • Google colab 被识别为 linux,并尝试通过默认查看应用程序打开 SVG 文件
  • 如果您没有在本地运行笔记本,最后一步将毫无结果(可能 Google 服务器现在有几个打开的 SVG 图像或一些错误消息)
  • 简短答案中的代码只是获取 SVG 代码而不保存它,然后将其显示在笔记本中

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 2020-01-09
    • 2020-08-17
    • 2017-08-10
    • 2020-12-12
    • 2015-03-05
    • 2014-08-28
    • 2019-04-27
    相关资源
    最近更新 更多