繁体   English   中英

Accuracy 和 Recall 值相同

[英]Accuracy and Recall values are same

我已经使用 Pytorch 和 Python 编程语言训练了 CNN 模型,我尝试使用 sklearn.metrics 从测试数据集中获取指标,如下所示。 但我在准确性和召回率方面得到了相同的结果。 是否有任何显示指标的最佳实践? 这个结果是真的吗?

test_accuracy_score = accuracy_score(output_list, prediction_list)
test_precision_score = precision_score(output_list, prediction_list, average=‘weighted’)
test_f1_score = f1_score(output_list, prediction_list, average=‘weighted’)
test_recall_score = recall_score(output_list, prediction_list, average=‘weighted’)

如果您想要详细的结果,只需导入分类报告并打印

print(classification_report(output_list, prediction_list))还显示了对每个 class(实例数)的支持。

您的加权召回返回每个 class 的召回,该召回针对每个 class 上的元素数量进行了调整。 所以我们有accuracy定义为:

acc = (TP + TN) / (TP + TN + FP + FN) -- T 表示真 P 表示正等...

并为 classA 和 classB 定义召回(假设二元分类)

recall1 = TP / (TP + FN)对于第 1 类

recall2 = TP / (TP + FN)对于 class2 转换为TN / (TN + FP) (如果你想象 class1 是积极的,而 class2 是消极的)

加权召回返回数字

w_recall = ElementsOfClass1overAll * recall1 + ElementsOfClass2overAll * recall2 = ElementsOfClass1overAll * (TP / (TP + FN)) + ElementsOfClass2overAll * (TN / (TN + FP))

所以,我们可以说,如果 ElementsOfClass1overAll 和 ElementsOfClass2overAll 相等,那么 w_recall 正好等于您的准确度(这意味着如果一半的元素属于 class A 而一半属于 B 类)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM