评估指标汇总

1.混淆矩阵(Confusion matrix)

混淆矩阵是理解大多数评价指标的基础,毫无疑问也是理解AUC的基础。这里用一个经典图来解释混淆矩阵是什么。

显然,混淆矩阵包含四部分的信息:

  1. True negative(TN),称为真阴率,表明实际是负样本预测成负样本的样本数
  2. False positive(FP),称为假阳率,表明实际是负样本预测成正样本的样本数
  3. False negative(FN),称为假阴率,表明实际是正样本预测成负样本的样本数
  4. True positive(TP),称为真阳率,表明实际是正样本预测成正样本的样本数

对照着混淆矩阵记忆方法:我们按照位置前后分为两部分记忆,只要预测正确(实际与预测同正或同负)就是真,预测错误(实际与预测一正一负)就是假。后面的部分代表着预测的结果,预测成正就是阳,预测成负就是阴。

我所知道的几乎所有评价指标,都是建立在混淆矩阵基础上的,包括准确率、精准率、召回率、F1-score,当然也包括AUC。

  • 1. 召回率/查全率 (Recall)   实际值-->预测值

召回率是相对于样本而言的,实际为正样本的被预测为正样本的概率,这样的有TP个,所有的正样本有两个去向,一个是被判为正的,另一个是错判为负的,因此总共有TP+FN个,所以,召回率 R= TP / (TP+FN)

  • 2. 查准率(Precision)   实际值<--预测值

        精确率是相对于预测结果而言的,它表示的是预测为正的样本中实际为正样本的概率;那么预测为正的样本就有两种可能来源,一种是把正的预测为正的,这类有TruePositive个, 另外一种是把负的错判为正的,这类有FalsePositive个,因此精确率即:P=TP/(TP+FP)

  • 3. 准确率 (Accuracy)

准确率是指有在所有的判断中有多少判断正确的,即把正的判断为正的,还有把负的判断为负的;总共有 TP + FN + FP + TN 个,所以准确率:(TP+TN) / (TP+TN+FN+FP)

  • 4. F1-score 和均值

例如:如果模型预测为正样本的阈值很低时(几乎所有样本都预测为正样本):FN会很小,FP会很大,这样 pre会 很小,recall 会很大。

如果模型预测为正样本的阈值很高时(几乎所有样本都预测为负样本):TP会很小,FP约等于0,FN会很大,这样pre会很大,recall会很小。

2. ROC曲线

 Ref: AUC计算方法总结_auc: 0.7308553465134306_CodingALife的博客-CSDN博客

真阳率: 实际为正样本,预测也为正样本的概率TPR=TP/(TP+FN)

假阳率: 实际为负样本,预测也为正样本的概率FPR=FP/(FP+TN)

(1)ROC曲线的横轴是FPR=FP/(FP+TN),纵轴是TPR=TP/(TP+FN),随着阈值的增大,ROC曲线由(0,0),增大到(1,1) ,

(2)ROC反应了分类器的分类能力好坏,ROC曲线在斜对角线以下,则表示该分类器效果差于随机分类器,反之,效果好于随机分类器,当然,我们希望ROC曲线尽量处于斜对角线以上,也就是向左上角(0,1)凸,其中左上角(0,1)位置最好表示,完全将正负样本分对。

(3)我们用ROC曲线下的面积AUC的值来直观的反应模型的分类能力。

记忆宝典:首先介绍AUC(2种),为什么用AUC?(2)AUC的计算(2),AUC的不足(2)

3. AUC

(1)AUC介绍

  • 第一种解释:是基于ROC线下面积,结合ROC曲线说明。
  • 第二种解释:反应模型将正样本排在负样本前面的概率。

        例如0.7的AUC,其含义可以大概理解为:给定一个正样本和一个负样本,在70%的情况下,模型对正样本的打分高于对负样本的打分。可以看出在这个解释下,我们关心的只有正负样本之间的分数高低,而具体的分值则无关紧要。

(2)为什么选择AUC 进行模型评估:

  • AUC关注排序效果,因此特别适合排序业务,而accuracy、precision、recall 则关注分类效果。
  • AUC对负样本采样不敏感,可以用于采样后的模型评估。负采样会改变accuracy、precision的值

(3)AUC对负样本采样不敏感 

  • ①即假设采样是随机的,采样完成后,给定一条正样本,模型预测为score1,由于采样随机,则大于score1的负样本和小于score1的负样本的比例不会发生变化,FPR没有发生变化,TPR也没有发生变化。
  • ②但如果采样不是均匀的,比如采用word2vec的negative sample,其负样本更偏向于从热门样本中采样,则会发现auc值发生剧烈变化。

 (4)不均匀负采样对CTR(排序模型计算的score)的影响

ctr预估的负采样比率修正公式

CTR负采样矫正原理

负采样会是预测的score 大于真实的score,所以要进行修正。

负采样后的预测值 

修正后的预测值 

(5)AUC的计算:

(6)AUC的不足:

  1. 线上会出现新样本,在线下没有见过,造成AUC不足。这部分更多是采用online learning的方式去缓解,AUC本身可改进的不多。
  2. 线上的排序发生在一个用户的session下,而线下计算全集AUC,即把user1点击的正样本排序高于user2未点击的负样本是没有实际意义的,但线下auc计算的时候考虑了它。阿里在论文:DIN中提出了group auc来处理上述问题。gauc是先求单用户推荐列表的auc,然后再平均得到gauc,但是单用户行为没有那么多的时候,会抖动,大部分公司还是用AUC比较多

(7)线下AUC提升为什么不能带来线上效果提升?  链接

        ① 样本数据:线下评测基于历史出现样本,而线上测试存在新样本。因此线下AUC提升可能只是在历史出现样本上有提升,但是对于线上新样本可能并没有效果。

        ②特征:线上和线下特征不一致。例如包含时间相关特征,存在特征穿越。或者线上部分特征缺失等等。要严格保证线上线下的特征一致性,最根本的方法就是同一套代码和数据源抽取特征,业内目前通用的方法就是,在线实时请求打分的时候落地实时特征,训练的时候就没有特征拼接的流程,只需要关联label,生成正负样本即可。

        ② 特征穿越: (特征穿越本质上是,特征中包含了未来的信息) 离线训练时是否发生了特征穿越的情况   谨防样本穿越。比如样本中有时间序类的特征,但train、test的数据切分没有考虑时间因子,则容易造成穿越。

        ③ 评估目标:AUC计算的时候,不仅会涉及同一个用户的不同item,也会涉及不同用户的不同item,而线上排序系统每次排序只针对同一个用户的不同item进行打分

        ④ 离线训练和线上预测用的数据分布不一致:离线训练用的是有偏的冰山上的数据,相当于都是在拟合老模型产生的样本,而在线上预估的时候,需要预测的是整个冰山的数据,包括大量冰面以下的数据!

Ref: 乱弹机器学习评估指标AUC - 知乎 乱弹机器学习评估指标AUC

https://www.cnblogs.com/qiulinzhang/p/9513513.html AUC及TensorFlow AUC计算相关

AUC及TensorFlow AUC计算相关_wtrnash的博客-CSDN博客

 线下auc涨,线上ctr/cpm跌 

其他评估指标

比如覆盖率、多样性、新颖性、实时性(新闻)、准确率、查全率/查准率、用户满意度等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值