Correct Way of Displaying Features in Decision Tree
If you pass header=None, pandas.read_csv assumes that the first row contains data and names the columns '0' to '12'.

Instead you should pass header=0 to specify that the column names are in the first row or equivalently skip the header argument.  

You can then still continue with X = balance_data.values[:, 1:12], because calling values returns a numpy array without the column names.

Alternatively, you could also select your feature columns like so: 

feature_names = ['A','AAAA',....]
X = balance_data[feature_names].values


You can then pass the same list of feature_names to graphviz.

Also note that you don't have to pass a numpy array to scikit-learn's functions. It can handle pandas DataFrames as well, so values is optional.