DABNet
DABNet copied to clipboard
about metric mistake, recall and precision
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