直接上代码
def cm_plot(y, yp):
'''
y: 真实值
y_pred:预测值
'''
'''混淆矩阵绘画'''
from sklearn.metrics import confusion_matrix # 导入混淆矩阵函数
cm = confusion_matrix(y, yp) # 混淆矩阵
print('混淆矩阵为:\n',cm)
import matplotlib.pyplot as plt # 导入作图库
plt.matshow(cm, cmap=plt.cm.Greens) # 画混淆矩阵图,配色风格使用cm.Greens,更多风格请参考官网。
plt.colorbar() # 颜色标签
for x in range(len(cm)): # 数据标签
for y in range(len(cm)):
plt.annotate(cm[x, y], xy=(y, x),verticalalignment='center',horizontalalignment='center')
# 这边一个重要的易错点就是关于xy需要添加数值的位置的点要换成(y, x),因为矩阵可视化的xy与实际意义上的坐标是相反的
plt.ylabel('True label') # 坐标轴标签
plt.xlabel('Predicted label') # 坐标轴标签
plt.show()