0

I can't get dtreeviz to work on Visual Studio or Visual Studio Code.

The error I get (no matter what I change my import statement to):

cannot import name 'run' from 'graphviz.backend' 
(C:\Users\<user>\AppData\Local\Programs\Python\Python311\Lib\site-packages\graphviz\backend\__init__.py)

Python code:

import sys
import pandas as pd
from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor

#from dtreeviz.trees import dtreeviz
#import dtreeviz
from dtreeviz import *

random_state = 1234 # get reproducible trees

dataset_url = "https://raw.githubusercontent.com/parrt/dtreeviz/master/data/titanic/titanic.csv"
dataset = pd.read_csv(dataset_url)
# Fill missing values for Age
dataset.fillna({"Age":dataset.Age.mean()}, inplace=True)
# Encode categorical variables
dataset["Sex_label"] = dataset.Sex.astype("category").cat.codes
dataset["Cabin_label"] = dataset.Cabin.astype("category").cat.codes
dataset["Embarked_label"] = dataset.Embarked.astype("category").cat.codes

features = ["Pclass", "Age", "Fare", "Sex_label", "Cabin_label", "Embarked_label"]
target = "Survived"

tree_classifier = DecisionTreeClassifier(max_depth=3, random_state=random_state)
tree_classifier.fit(dataset[features].values, dataset[target].values)

viz_model = dtreeviz.model(tree_classifier,
                           X_train=dataset[features], y_train=dataset[target],
                           feature_names=features,
                           target_name=target, class_names=["perish", "survive"])

viz_model.view(scale=0.8)
desertnaut
  • 57,590
  • 26
  • 140
  • 166

1 Answers1

0

OK - I figured it out.

  1. I removed all instances of graphviz on my computer which entailed uninstalling if from all of these environments which I had previously install graphviz on: python (pip), Anaconda (Powershell Prompt), and Windows (Add or Remove Programs).

  2. I reinstalled python graphviz version specific (pip install graphviz==0.17).

  3. I reinstalled Windows graphviz version windows_10_cmake_Release_graphviz-install-7.1.0-win64.exe from https://graphviz.org/download/.

  4. I added Windows graphviz install to the path variable.

  5. Updated the code:

    from dtreeviz.trees import *

    viz_model = dtreeviz(tree_classifier, dataset[features], dataset[target], feature_names=features, target_name=target, class_names=["perish", "survive"])

    viz_model.view()