【问题标题】:In Classification, what is the difference between the test accuracy and the AUC score?在分类中,测试准确率和 AUC 分数有什么区别?
【发布时间】:2020-07-09 08:15:45
【问题描述】:

我正在从事一个基于分类的项目,我正在根据不同的机器学习模型的训练准确度、测试准确度、混淆矩阵和 AUC 分数来评估它们。我现在一直在理解通过计算测试集 (X_test) 上 ML 模型的准确性得到的分数与 AUC 分数之间的差异。

如果我是正确的,这两个指标都会计算 ML 模型能够预测正确类别的以前未见过的数据的能力。我也明白,只要模型没有过拟合或欠拟合,数字越高越好。

假设 ML 模型既不是过拟合也不是欠拟合,那么测试准确度得分和 AUC 得分有什么区别?

我没有数学和统计背景,而是从商业背景转向数据科学。因此,我会很感激商务人士可以理解的解释。

【问题讨论】:

  • 推荐阅读this answer,写得真好,应该可以为你解惑!

标签: machine-learning classification auc


【解决方案1】:

这两个术语都量化了分类模型的质量,但是,准确度量化了变量的单个表现形式,这意味着它描述了单个 confusion matrixAUC (area under the curve) 表示多个混淆矩阵中true-positive-rate (tpr)false-positive-rate (fpr) 之间的权衡,这些混淆矩阵是为同一分类器的不同fpr 值生成的。 混淆矩阵的形式为:

1) 准确率是衡量单个混淆矩阵的指标,定义为:

其中 tp=true-positives、tn=true-negatives、fp=false-positives 和 fn=false-negatives(每个数量)。

2) AUC 测量area under the ROC (receiver operating characteristic),即true-positive-ratefalse-positive-rate 之间的trade-off 曲线。对于假阳性率 (fpr) 阈值的每个选择,确定真阳性率 (tpr)。即,对于给定的分类器,接受 0、0.1、0.2 等第四个 fpr,并且对于每个 fpr,评估它的依赖 tpr。因此,您会得到一个函数 tpr(fpr),它将区间 [0,1] 映射到同一区间,因为这两个速率都是在这些区间中定义的。这条线下方的区域称为 AUC,介于 0 和 1 之间,因此随机分类预计会产生 0.5 的 AUC。

AUC,因为它是曲线下的面积,定义为:

但是,在实际(和有限)应用中,ROC 是阶跃函数,AUC 由这些水平的加权和确定。

图片来自Borgelt's Intelligent Data Mining Lecture

【讨论】:

  • 谢谢,这很有帮助!一个后续问题;当我评估分类算法的性能时,您是说 AUC 分数是比准确度分数更好的指标吗?我有点困惑的是,我的一些模型在 AUC 和测试准确度分数上有所不同。在这种情况下,我想知道我是否应该优先考虑具有更高测试准确度或 AUC 分数的模型。谢谢!
  • @Arsik36 没那么简单;为了获得准确度,您需要定义一个特定的阈值(请参阅Predict classes or class probabilities?),而 AUC 测量整个此类阈值范围内的性能。请参阅herehere 了解更多详情。
  • 感谢您的意见,我会继续研究这个!
猜你喜欢
  • 1970-01-01
  • 2019-08-20
  • 2015-06-26
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
  • 2021-02-16
  • 2016-04-14
相关资源
最近更新 更多