TENSORFLOW CONFUSION_MATRIX

根据这位朋友实现,感谢

------->https://blog.csdn.net/qq_33592583/article/details/79409813

TENSORFLOW CONFUSION_MATRIX_第1张图片

 

 

 

 

 

 

 

 

 

以上是效果图,总共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)

你可能感兴趣的:(...)