算法衡量auc_AUC理解

我花了一天半的时间理解auc,其中自己把自己绕进去了,其实最终也没有理解的很是透彻,只是记住了auc的计算方法。

大纲:auc的理论推导及示例

推荐系统中auc计算公式

简便方法1

简便方法2

auc的理论推导及示例

提到auc,首先想到的就是ROC曲线,auc=ROC曲线下与xy轴的面积。ROC曲线的x轴为伪阳率,y轴为真阳率。

混淆矩阵

这里需要注意的是:FN为伪阴(预测与真实不一致为伪,预测结果negative为阴),同理TN是真阴(预测与真实结果一致,预测结果为阴)。

真阳率=真阳个数/(真阳数+伪阴数) (预测为1&真实为1)/预测为1

伪阳率=伪阳个数/(伪阳数+真阴数)(预测为1&真实为0)/预测为0

当真阳率等于伪阳率时我们认为真实为1预测为1的概率等于真实为0预测为1的概率。整个的正确率为0.5.

在推荐系统中我们希望真实为1预测为1的概率尽量大于真实为0预测为1的概率。如下图所示。

举个简单例子,计算下图的auc

TP=3,FN=1,TPr=3/4.FP=2,TN=2,FPr=1/2

推荐系统中auc计算公式

对于推荐系统来说我们事判断排序是否正确,比如ctr预估,得到的是点击与否的概率值,然后排序,我们想看这个ctr排序的auc。将每个ctr作为划分正负样本的阈值,大于等于阈值的被划分为正样本,小于阈值的被划分负样本。

举个例子 :

分别采用每个值作为阈值来划分正负样本。

0.1为阈值时

得到最后的面积为13/16.

简便算法1

auc=(正样本的排序序号-正正样本对)/正负样本对个数

存在问题是当正负样本值一样时,排序是把正样本的值排在前边还是负样本的排在前边呢?会出现auc的奇异情况。所以以上公式不适用于正负样本值一样的情况。

简便算法2

以下有另外一种解释,是正样本的值大于等于负样本的值,那么负样本值小于正样本值的个数是几个?

正样本和负样本是两个互不纠缠的正态分布,其中有M个正样本,N个负样本。

阈值如果遍历所有正样本,则每个正样本都比N个负样本大,因此,积分下来,就是N+N+N+…+N = M * N,而积分的区域是M * N,因此,这种理想状态下,得到了AUC为

以上例子里,

正样本的阈值为0.9时,比4个负样本的值大,

正样本的阈值为0.8时,比4个负样本的值大,

正样本的阈值为0.6时,比3个负样本的值大,

正样本的阈值为0.3时,比2个负样本的值大。

总共时16个正负样本对,正样本比负样本大的有4+4+3+2=13个

auc=13/16

基于以下大佬讲解总结的,如何理解机器学习和统计中的AUC?​www.zhihu.com千寻:图解AUC和GAUC​zhuanlan.zhihu.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值