Summary
As to the classification problem, we often need to analyze the experiment result through the visual confusion matrix to get the parameter idea, this article describes how to use Python to draw the confusing matrix (Confusion_matrix), this article only provides the code, gives the necessary annotation. Code
#-*-coding:utf-8-*-from sklearn.metrics import confusion_matrix import matplotlib.pyplot as PLT import NumPy as NP #lab Els shows you different categories of code, such as the demo here there are 13 categories labels = [' A ', ' B ', ' C ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', #y_true代表真实的lab The El value y_pred represents the predicted lavel value y_true = Np.loadtxt ('. /data/re_label.txt ') y_pred = Np.loadtxt ('.. /data/pr_label.txt ') Tick_marks = Np.array (range (len (labels)) + 0.5 def plot_confusion_matrix (cm, title= ' confusion Mat
Rix ', cmap=plt.cm.binary): plt.imshow (cm, interpolation= ' nearest ', Cmap=cmap) plt.title (title) Plt.colorbar () Xlocations = Np.array (range (len (labels)) plt.xticks (xlocations, labels, rotation=90) plt.yticks (Xlocations, L Abels) Plt.ylabel (' True label ') Plt.xlabel (' predicted label ') cm = Confusion_matrix (y_true, y_pred) np.set_print Options (precision=2) cm_normalized = Cm.astype (' float ')/cm.sum (Axis=1) [:, Np.newaxis] Print cm_normalized plt.figure ( Figsize= (8), dpi=120) Ind_array = Np.arange (len (labels)) x, y = Np.meshgrid (Ind_array, Ind_array) for X_val, y_val in Zip (X.flatten (), Y.flatten ()): c = Cm_normalized[y_v Al][x_val] If C > 0.01:plt.text (x_val, Y_val, "%0.2f"% (c,), color= ' Red ', fontsize=7, va= ' center ', ha= ' CE
Nter ') # offset The Tick PLT.GCA (). Set_xticks (Tick_marks, Minor=true) PLT.GCA (). Set_yticks (Tick_marks, Minor=true) PLT.GCA (). Xaxis.set_ticks_position (' None ') PLT.GCA (). Yaxis.set_ticks_position (' None ') Plt.grid (True, which= ' Minor ', linestyle= '-') PLT.GCF (). Subplots_adjust (bottom=0.15) Plot_confusion_matrix (cm_normalized, title= ' Normalized Confusion matrix ') # Show Confusion Matrix Plt.savefig (' ...
/data/confusion_matrix.png ', format= ' png ') plt.show ()
Result
Instructions
Follow the comments in your code to replace labels, y_true, y_pred with your own data. Reference
How to use Python to draw the confusion matrix.