在多类问题中 AUC 高于准确率

数据挖掘 多类分类 准确性 奥克
2022-02-23 01:14:29

我偶然发现了一个 3 类分类问题,其中所有比较的分类器产生的 AUC 都高于准确率(通常高出 10% 左右)。当数据集平衡或稍微不平衡时,都会发生这种情况。

现在,在看了这个答案之后:为什么一个不太准确的分类器的 AUC 比一个更准确的分类器更高?我知道,对于二进制分类,这可能会发生,因为准确度通常是在 0.5 的阈值下计算的,而 AUC 是基于所有阈值的。

但是多类分类会发生什么?具体来说,准确度定义为预测标签与真实标签匹配的频率 ( tf.keras.metrics.CategoricalAccuracy ) 和 AUC 定义为每个类别与其他类别的 AUC 的加权平均值(One-vs -rest)(sklearn.roc_auc_score)。为什么那里的 AUC 可能更高?

换句话说,我试图理解这个结果意味着什么。这是否意味着我的分类器可以很好地辨别每个类别与其他类别 (AUC) 的对比情况,但当预测概率是 softmax 函数的输出并因此分布在三个类别中时就不行?

1个回答

我认为这个问题可以分为三个部分。第一部分是比较同一个模型的准确率和AUC,第二部分是比较模型,第三部分是关于多类问题。

第一部分 - 我认为准确性和 AUC 不是可比较的指标,我认为一个高于另一个的情况没有特殊意义。

第二部分 - ROC 图和 AUC 有助于理解模型和选择模型类型,但最终您通常希望使用特定阈值评估最终模型,因此准确度、精确度和召回率是相关指标。

第三部分——我认为前面部分的答案对于二元分类和多类分类都是有效的。为什么你认为它在这里有不同的含义?