利用python绘制混淆矩阵

利用python绘制混淆矩阵,直接附代码。

from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt

y_pred = [] # ['2','2','3','1','4'] # 类似的格式
y_true = [] # ['0','1','2','3','4'] # 类似的格式
# 对上面进行赋值

C = confusion_matrix(y_true, y_pred, labels=['0','1','2','3','4']) # 可将'1'等替换成自己的类别,如'cat'。

plt.matshow(C, cmap=plt.cm.Reds) # 根据最下面的图按自己需求更改颜色
# plt.colorbar()

for i in range(len(C)):
    for j in range(len(C)):
        plt.annotate(C[j, i], xy=(i, j), horizontalalignment='center', verticalalignment='center')

# plt.tick_params(labelsize=15) # 设置左边和上面的label类别如0,1,2,3,4的字体大小。

plt.ylabel('True label')
plt.xlabel('Predicted label')
# plt.ylabel('True label', fontdict={'family': 'Times New Roman', 'size': 20}) # 设置字体大小。
# plt.xlabel('Predicted label', fontdict={'family': 'Times New Roman', 'size': 20})
# plt.xticks(range(0,5), labels=['a','b','c','d','e']) # 将x轴或y轴坐标,刻度 替换为文字/字符
# plt.yticks(range(0,5), labels=['a','b','c','d','e'])
plt.show()

简单理解混淆矩阵的元素含义,例如下面第一行第二个的“3”表示实际标签为类别0的预测成类别1的有3个样本。

附效果图:
利用python绘制混淆矩阵_第1张图片
利用python绘制混淆矩阵_第2张图片
利用python绘制混淆矩阵_第3张图片
如果需要切换不同的颜色,如:
利用python绘制混淆矩阵_第4张图片

你可能感兴趣的:(图像分类,python,矩阵)