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