labels for confusion matrix code example

Example 1: how to find the labels of the confusion matrix in python

""" In order to find the labels just use the Counter function to count 
the records from y_test and then check row-wise sum of the confusion 
matrix. Then apply the labels to the corresponding rows using the 
inbuilt seaborn plot as shown below"""

from collections import Counter
Counter(y_test).keys()
Counter(y_test).values()

import seaborn as sns
import matplotlib.pyplot as plt     

ax= plt.subplot()
sns.heatmap(cm, annot=True, fmt='g', ax=ax);  #annot=True to annotate cells, ftm='g' to disable scientific notation

# labels, title and ticks
ax.set_xlabel('Predicted labels');ax.set_ylabel('True labels'); 
ax.set_title('Confusion Matrix'); 
ax.xaxis.set_ticklabels(['business', 'health']); ax.yaxis.set_ticklabels(['health', 'business']);

Example 2: print labels on confusion_matrix

unique_label = np.unique([y_true, y_pred])
cmtx = pd.DataFrame(
    confusion_matrix(y_true, y_pred, labels=unique_label), 
    index=['true:{:}'.format(x) for x in unique_label], 
    columns=['pred:{:}'.format(x) for x in unique_label]
)
print(cmtx)
# Output:
#           pred:no  pred:yes
# true:no         3         0
# true:yes        2         1