在机器学习中的不平衡数据集的情况下,AUC 是比准确性更好的指标吗?如果不是,哪个是最好的指标?

Is AUC a better metric than accuracy in case of imbalenced datasets in machine learning,If not which is the best metric?

auc 在处理不平衡数据方面是否更好。在大多数情况下,如果我处理的是不平衡的数据,准确性就不会给出正确的想法。尽管准确率很高,但模型的性能很差。如果不是 auc,那是处理不平衡数据的最佳措施。

不平衡 classes 的伟大之处不是准确性,因为如果一个 class 有 1% 的例子而另一个有 99%,你可以 class 验证所有的例子为零,但仍能获得 99% 的准确率。

考虑到混淆矩阵(如下),您还应该分析 Precision 和 Recall。这些措施为您提供误报和漏报的总量。

然后你必须定义你的重点。考虑到预测性维护,误报是将正常的机器 class 确定为故障,而误报是将故障的机器 class 确定为正常。您可以获得 99% 的准确度和出色的 AUC,但仍然获得 0% 的准确度。

两者都不适用于不平衡的数据集。请改用精度召回曲线下的面积。

"point metrics"(精度、召回率、F1 分数)与适用于整个分类器的指标(如 ROC 曲线下的面积或 PR 曲线下的面积)之间存在差异。

精度、召回率和 F1 分数等点指标是使用分类器的决策计算的。这意味着您需要选择一个硬性决策阈值,例如任何高于 0.5 的值都是正值,低于 0.5 的值是负值。 (您也可以选择 0 到 1 之间的任何其他决策阈值;选择不同的决策阈值将改变您计算的精度、召回率和 F1 分数。)

您还可以计算 ROC 曲线下面积 ("AUC") 和精确召回曲线下面积 (AUPRC) 等指标。这些指标可以被认为是 "averages" 对不同决策的影响阈值。您使用预测概率向量而不是二进制标签向量来计算这些。 ROC 曲线下的区域非常受欢迎,但当您的数据偏向于有很多真负时,它就不是很有用了。精确召回曲线下的面积是一个很好的指标,可以在您的数据偏向于有很多真阴性时使用。有关如何计算 AUROC 或 AUPRC 以及何时使用它们的更多信息,您可以查看 this article on AUROC and this article on AUPRC.