DABNet icon indicating copy to clipboard operation
DABNet copied to clipboard

about metric mistake, recall and precision

Open DCC-lzhy opened this issue 3 years ago • 0 comments

https://github.com/Reagan1311/DABNet/blob/b8d62fe7f14ae4909a9e9aad1dd6e0ade98431cd/utils/metric.py#L43-L56 it's reverse. ` # 理解混淆矩阵生成的代码的关键,行为真实值,列为预测值 # Pii为预测正确的数量,Pij=FN, Pji=FP # 每一列之和表示被预测为该类别的样本数量 = TP+FP, precision = TP/(TP+FP), 所有被预测为正类中真正正类的比例 # 每一行之和表示该类别的真实样本数量 = TP+FN, recall = TP/TP+FN , 所有正类中,被找出的正类的比例

def recall(self):
    recall = 0.0
    class_recall = []
    for i in range(self.nclass):
        recall_i = self.M[i, i] / np.sum(self.M[i, :])
        recall += recall_i
        class_recall.append(recall_i)
    return recall / self.nclass, class_recall

def accuracy(self):
    accuracy = 0.0
    class_accuracy = []
    for i in range(self.nclass):
        accuracy_i = self.M[i, i] / np.sum(self.M[:, i])
        accuracy += accuracy_i
        class_accuracy.append(accuracy_i)
    return accuracy / self.nclass, class_accuracy`

So, change https://github.com/Reagan1311/DABNet/blob/b8d62fe7f14ae4909a9e9aad1dd6e0ade98431cd/utils/metric.py#L47 and https://github.com/Reagan1311/DABNet/blob/b8d62fe7f14ae4909a9e9aad1dd6e0ade98431cd/utils/metric.py#L54

DCC-lzhy avatar Mar 23 '21 02:03 DCC-lzhy