Python Databricks 无法可视化 dtreeviz 决策树
Python Databricks cannot visualise dtreeviz decision tree
我需要在 Databricks 的 dtreeviz 中可视化决策树。
该代码似乎工作正常。
但是,它没有显示决策树,而是抛出以下内容:
Out[23]: <dtreeviz.trees.DTreeViz at 0x7f5b27a91160>
运行以下代码:
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_)
)
如果你查看 dtreeviz
文档,你会发现 dtreeviz
方法只是创建一个对象,然后你需要使用像 .view()
这样的函数来显示它。在 Databricks 上,view
不起作用,但您可以使用 .svg()
方法将输出生成为 SVG,然后使用 displayHTML function 显示它。以下代码:
viz = dtreeviz(classifier,
...)
displayHTML(viz.svg())
会给你想要的输出:
P.S。您需要使用 dot
命令行工具来生成输出。可以在notebook的一个单元格中执行安装:
%sh apt-get install -y graphviz
我需要在 Databricks 的 dtreeviz 中可视化决策树。 该代码似乎工作正常。 但是,它没有显示决策树,而是抛出以下内容:
Out[23]: <dtreeviz.trees.DTreeViz at 0x7f5b27a91160>
运行以下代码:
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_)
)
如果你查看 dtreeviz
文档,你会发现 dtreeviz
方法只是创建一个对象,然后你需要使用像 .view()
这样的函数来显示它。在 Databricks 上,view
不起作用,但您可以使用 .svg()
方法将输出生成为 SVG,然后使用 displayHTML function 显示它。以下代码:
viz = dtreeviz(classifier,
...)
displayHTML(viz.svg())
会给你想要的输出:
P.S。您需要使用 dot
命令行工具来生成输出。可以在notebook的一个单元格中执行安装:
%sh apt-get install -y graphviz