二分类任务,在最后的实验部分需要画混淆矩阵,来说明实验的结果。
import matplotlib.pyplot as plt
guess = ["normal","cancer"]
fact = [ "normal","cancer"]
classes = list(set(fact))
classes.sort(reverse=True)
r1=[[367,16],[33,384]]
plt.figure(figsize=(12,10)) #设置plt窗口的大小
confusion =r1
print("confusion",confusion)
plt.imshow(confusion, cmap=plt.cm.Blues)
indices = range(len(confusion))
indices2 = range(3)
plt.xticks(indices, classes,rotation=40,fontsize=18)
plt.yticks([0.00,1.00], classes,fontsize=18)
plt.ylim(1.5 , -0.5) #设置y的纵坐标的上下限
plt.title("Confusion matrix",fontdict={'weight':'normal','size': 18})
#设置color bar的标签大小
cb=plt.colorbar()
cb.ax.tick_params(labelsize=18)
plt.xlabel('Predict label',fontsize=18)
plt.ylabel('True label',fontsize=18)
print("len(confusion)",len(confusion))
for first_index in range(len(confusion)):
for second_index in range(len(confusion[first_index])):
if confusion[first_index][second_index]>200:
color="w"
else:
color="black"
plt.text(first_index, second_index, confusion[first_index][second_index],fontsize=18, color = color,verticalalignment='center',horizontalalignment='center',)
plt.show()
显示效果如下: