精确率、召回率、auc和roc的清晰解释-精确率和召回率曲线

2023-08-18 14:34:30

 

刚开始接触这两个概念的时候总搞混,时间一长就记不清了。也是面试中经常出现的问题(80%都会问到)。其实,理解它并不是非常难,但是好多朋友都遇到了一个相同的问题,那就是:每次看书的时候都很明白,但回过头就忘了,经常容易将概念弄混。还有的朋友面试之前背下来了,但是一紧张大脑一片空白全忘了,导致回答的很差。

一. 精确率和召回率

两句言简意赅,一针见血的解释:

召回率(Recall):该类样本有多少被找出来了(召回了多少)。

精确率(Precision):你认为的该类样本,有多少猜对了(猜的精确性如何)。

详细解释:

实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是

P=TPTP+FPP = \frac{TP}{TP+FP}

而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

R=TPTP+FNR = \frac{TP}{TP+FN}

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。

在信息检索领域,精确率和召回率又被称为查准率和查全率,

查准率=检索出的相关信息量 / 检索出的信息总量

查全率=检索出的相关信息量 / 系统中的相关信息总量

二. 举个栗子

假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。TP: 将正类预测为正类数 40

FN: 将正类预测为负类数 20FP: 将负类预测为正类数 10TN: 将负类预测为负类数 30

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%

精确率(precision) = TP/(TP+FP) = 80%

召回率(recall) = TP/(TP+FN) = 2/3

三. roc 和 auc

比如在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC ,ROC 曲线可以用于评价一个分类器好坏。

ROC

ROC关注两个指标,TPR 和 FPR。

直观上,TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率。在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off2。

AUC

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。

意思就是随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。

简单说:AUC值越大的分类器,正确率越高3。

AUC=1AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。0.5<AUC<10.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。AUC=0.5AUC=0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。AUC<0.5AUC<0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在 AUC<0.5AUC<0.5 的情况。

参考:链接:https://www.zhihu.com/question/19645541/answer/91694636


以上就是关于《精确率、召回率、auc和roc的清晰解释-精确率和召回率曲线》的全部内容,本文网址:https://www.7ca.cn/baike/68756.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜