我偶然发现了一个 3 类分类问题,其中所有比较的分类器产生的 AUC 都高于准确率(通常高出 10% 左右)。当数据集平衡或稍微不平衡时,都会发生这种情况。
现在,在看了这个答案之后:为什么一个不太准确的分类器的 AUC 比一个更准确的分类器更高?我知道,对于二进制分类,这可能会发生,因为准确度通常是在 0.5 的阈值下计算的,而 AUC 是基于所有阈值的。
但是多类分类会发生什么?具体来说,准确度定义为预测标签与真实标签匹配的频率 ( tf.keras.metrics.CategoricalAccuracy ) 和 AUC 定义为每个类别与其他类别的 AUC 的加权平均值(One-vs -rest)(sklearn.roc_auc_score)。为什么那里的 AUC 可能更高?
换句话说,我试图理解这个结果意味着什么。这是否意味着我的分类器可以很好地辨别每个类别与其他类别 (AUC) 的对比情况,但当预测概率是 softmax 函数的输出并因此分布在三个类别中时就不行?