绘制具有有意义的行和列标签的混淆矩阵

Plot a confusion matrix with meaningful row and column labels

关于我的混淆矩阵布局的问题。我想将变量标签对应的数字“0”、“1”和“2”替换为实际变量标签“裸土”、“玉米”和“其他作物”。 感谢您的帮助。

CM = confusion_matrix(y_test, y_pred)
CM = sns.heatmap(CM, square = True, cmap = "coolwarm", linewidths = .5, annot = True)
plt.title('Model confusion matrix', fontsize = 20) 
plt.xlabel('Predict', fontsize = 15) 
plt.ylabel('Real', fontsize = 15) 
plt.show()

尝试 plt.yticksplt.xticks:

import matplotlib.pyplot as plt
sns.heatmap(confusion_matrix(y_test,y_pred),annot=True)
plt.yticks(np.arange(3)+0.5,('X1','X2','X3'), fontsize="10")
plt.xticks(np.arange(3)+0.5,('X1','X2','X3'), fontsize="10" )