【问题标题】:Python Databricks cannot visualise dtreeviz decision treePython Databricks 无法可视化 dtreeviz 决策树
【发布时间】:2022-01-11 09:40:54
【问题描述】:

我需要在 Databricks 的 dtreeviz 中可视化决策树。 代码似乎工作正常。 但是,它没有显示决策树,而是抛出以下内容:

输出[23]:

运行以下代码:

import pandas as pd
from sklearn import preprocessing, tree
from dtreeviz.trees import dtreeviz

Things = {'Feature01': [3,4,5,0], 
          'Feature02': [4,5,6,0], 
          'Feature03': [1,2,3,8], 
          'Target01': ['Red','Blue','Teal','Red']}
df = pd.DataFrame(Things,
                  columns= ['Feature01', 'Feature02', 
                            'Feature02', 'Target01']) 

label_encoder = preprocessing.LabelEncoder()
label_encoder.fit(df.Target01)
df['target'] = label_encoder.transform(df.Target01)

classifier = tree.DecisionTreeClassifier()
classifier.fit(df.iloc[:,:3], df.target)

dtreeviz(classifier,
         df.iloc[:,:3],
         df.target,
         target_name='toy',
         feature_names=df.columns[0:3],
         class_names=list(label_encoder.classes_)
         )

【问题讨论】:

    标签: python databricks azure-databricks dtreeviz


    【解决方案1】:

    如果您查看dtreeviz 文档,您会看到dtreeviz 方法只是创建一个对象,然后您需要使用.view() 之类的函数来显示它。在 Databricks 上,view 不起作用,但您可以使用 .svg() 方法将输出生成为 SVG,然后使用 displayHTML function 显示它。以下代码:

    viz = dtreeviz(classifier,
      ...)
    displayHTML(viz.svg())
    

    会给你想要的输出:

    附:您需要有dot 命令行工具来生成输出。它可以通过在笔记本的单元格中执行来安装:

    %sh apt-get install -y graphviz
    

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 2017-08-10
      • 2021-09-18
      • 2019-05-14
      • 2012-07-03
      • 2020-08-17
      • 2019-04-27
      • 2021-07-22
      相关资源
      最近更新 更多