Generate png output from decision tree

OS: Windows 7 +

import pandas as pd
import numpy as np
from sklearn import *
from sklearn.tree import export_graphviz
from mlxtend.plotting import plot_confusion_matrix
import matplotlib.pyplot as plt
df = pd.read_csv("")
target = "default"
y = np.where(df[target] == 2, 1, 0)
X = df.copy() # features ... label is not included
del X[target]
X = pd.get_dummies(X, drop_first=True) # handle catergorical variables ... one hot encoding
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y
                            , test_size = 0.3, random_state = 1)
pipe = pipeline.Pipeline([
    #("poly", preprocessing.PolynomialFeatures(degree=5, include_bias=False)),
    #("scaler", preprocessing.StandardScaler()),
    ("est", tree.DecisionTreeClassifier(max_depth=3))
                             , y_train)
y_train_pred = pipe.predict(X_train)
y_test_pred = pipe.predict(X_test)
print("accuracy", metrics.accuracy_score(y_test, y_test_pred),
"\nprecision", metrics.precision_score(y_test, y_test_pred),
"\nrecall", metrics.recall_score(y_test, y_test_pred))
plot_confusion_matrix(metrics.confusion_matrix(y_test, y_test_pred))
est = pipe.steps[-1][-1]
export_graphviz(est, out_file = "", feature_names = X.columns, filled=True)

Install graphviz using MSI on windows machine

For the dot command to work, make sure you include the dot executable in the environment PATH variable. To do this, open command prompt and run the following command.

c:/> set PATH=%PATH%;”C:\Program Files (x86)\Graphviz2.38\bin\”

c:/> dot -Tpng -o tree.png