AUC和准确率什么时候可以相等?

数据挖掘 分类
2022-02-25 09:09:59

术语 AUC 和准确性让我感到困惑。
什么情况下AUC率和准确率完全相等?

3个回答

AUC(或最常见的 AUROC =“接收器操作特性下的区域”)和准确度是不同的度量,但用于相同的目的 - 客观地衡量简单二元分类器的性能。

对于完美分类器 - 或逆完美分类器(您可以反转输出以获得完美分类器),这两个度量可以在 0 和 1 的极值处相等。在其他时间,这些值可能在数值上相等,但如果是这样,那将是没有特定含义的巧合。

这两个指标都可以与一个简单的分类器一起使用,该分类器只输出类别成员的真值或假值。但是,AUROC 指标需要某种参数,您可以更改这些参数来绘制 ROC 曲线。通常这是分类的阈值,用于针对分类器的类概率输出。

还有其他可能的指标。例如,F1 分数交叉熵F1 分数再次为完美分类器为 1.0,为坏分类器为 0.0,但更好分类器的交叉熵分数较低 - 完美分类器为 0.0,对于错误输出没有上限。同样,这些值在某些点上可能等于其他指标,但如果是这样,则没有意义。

如果您要针对特定​​任务比较两个分类器,那么使用相同的指标在相同的测试数据上比较它们很重要。您选择的指标和测试数据应该与您的原始问题相关。

如果您正在阅读其他人发布的结果,并且想要比较他们,那么如果一个人使用 AUC 而另一个人的准确性是不可能的。

说相同的准确性和 ROC AUC 统计数据“将是没有特定含义的巧合”是不正确的。如果您正在执行二进制分类并基于预测标签(0 或 1)而不是连续值概率构建 ROC 曲线,那么 ROC 曲线下的面积将与准确度相同(要说服自己,请查看https://stackoverflow.com/questions/31159157/different-result-with-roc-auc-score-and-auc上的答案之一的视觉效果)。如果您使用 sklearn 并使用 .predict() 而不是 .predict_proba(),由于生成 ROC 曲线时使用的采样,您可能会获得稍微不同的准确度和 ROC AUC 值,但“正确”的方法是使用您的估算器.predict_proba() 函数,在这种情况下,精度和 ROC AUC不相同(相似的值纯属巧合)。

在二元情况下,平衡准确度等于敏感性(真阳性率)和特异性(真阴性率)的算术平均值,或二元预测而不是分数的 ROC 曲线下面积。

请参阅:“平衡准确度得分”

AUC = (tpr-fpr+1)/2 = (tpr+tnr)/2 = 1 – (fpr+fnr)/2

请参阅:“从精确度、召回率和 F 因子到 ROC、知情性、标记性和相关性”