首页 > 解决方案 > 在分类中,测试准确率和 AUC 分数有什么区别?

问题描述

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

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

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

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

标签: machine-learningclassificationauc

解决方案


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

在此处输入图像描述

1) 准确率是衡量单个混淆矩阵的指标,定义为: 准确率 = (TP+TN)/(TP+FP+TN+FN)

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

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

在此处输入图像描述 在此处输入图像描述

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

在此处输入图像描述

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

图表来自Borgelt 的智能数据挖掘讲座


推荐阅读