根据这位朋友实现,感谢
------->https://blog.csdn.net/qq_33592583/article/details/79409813
以上是效果图,总共101类。
实现原理很简单:
我在模型计算准确率的时候加了两个空列表,用于存放Y_Label与Y_Pre
correct=0
y_l=[]
y_p=[]
ii=0
for name in sorted(rgb.keys()):
r = rgb[name]
o = opf[name]
label = int(test_video[name])-1
video_level_preds[ii,:] = (r+o)
video_level_labels[ii] = label
ii+=1
y_l.append(label)
y_p.append(np.argmax(r+o))
if np.argmax(r+o) == (label):
correct+=1
每次计算Y_Label与Y_Pre是否符合前将其传入列表
再传入def 函数就完成了
confusion_mat=confusion_matrix(y_l,y_p)
def plot_confusion_matrix(confusion_mat):
plt.imshow(confusion_mat,interpolation='nearest',cmap=plt.cm.Paired)
plt.title('Confusion Matrix')
plt.colorbar()
tick_marks=np.arange(4)
plt.xticks(tick_marks,tick_marks)
plt.yticks(tick_marks,tick_marks)
plt.ylabel('True Label')
plt.xlabel('Predicted Label')
plt.show()
plot_confusion_matrix(confusion_mat)