一 背景

      首先举个例子:
                         正样本(90)                       负样本(10)        
模型1预测        正(90)                                正(10)
模型2预测        正(70)负(20)                正(5)负(5)
结论:
       模型1准确率90%;
       模型2 准确率75%      
       考虑对正负样本对预测能力,显然模型2要比模型1好,但对于这种正负样本分布不平衡对数据,准确率不能衡量分类器对好坏了,所以需要指标auc解决倾斜样本的评价问题。
二分类混淆矩阵
预测\实际       1            0
1                    TP          FP
0                    FN          TN
       TPR=TP/P=TP/TP+FN   直观1中猜对多少
       FPR=FP/N=FP/FP+TN  直观0中猜错多少
       Auc对横纵坐标分别为FPR和TPR,相对于y=x这条直线靠近左上角对分类器性能更好,所以模型2更优。
                            TPR                            FPR
模型1                 90/90=1                   10/10=1
模型2                 70/90=0.78                5/10=0.5
模型1和2的auc点位分别如下图所示,显然模型1更优:
 

 
二 研究现状 
       AUC直观概念,任意取一对正负样本,正样本score大于负样本对概率。 
       计算方法:正样本和负样本pair对,auc=预估正样本score大于负样本score的pair对数/总的pair对数。
       E.g. 分别计算模型1和2对auc?
四个样本label为y1=+1, y2=+1, y3=-1, y4=-1
模型1的预测为 y1=0.9, y2=0.5, y3=0.2, y4=0.6
模型2的预测为 y1=0.1, y2=0.9, y3=0.8, y4=0.2
解: 
        模型1: 正样本score大于负样本的pair包括(y1, y3), (y1, y4), (y2, y3),auc为3/4=0.75
        模型2: 正样本score大于负样本的pair包括(y2, y3),(y2, y4),auc为2/4=0.5
 
计算参考paper:《 An introduction to ROC analysis 》(Tom Fawcett)
方法:
1按照score对样本排序;
2依次对每个样本,label分对TP增1,否则FP增1。计算每个小梯形的面积。
3累加所有样本,计算auc
代码:
 
三 点击率模型auc计算方法 
       如上图,以两个分桶为例,每个分桶计算的AUC为图中的阴影部分。全局AUC部分需要补充P3部分的面积,等于前i-1个桶的sum(click)乘以每i个桶的noclick。
       整体的AUC就是曲线下的面积除以曲线的起点、终点锚定矩型的面积。
步骤
1按照pctr聚合 sum_show和sum_clk;
2样本按照pctr排序;
3依次对每个样本,计算noclk和clk围成对小梯形对面积。
       代码:
 
 
 

点击率模型AUC的更多相关文章

  1. GBDT与LR融合提升广告点击率预估模型

    1GBDT和LR融合      LR模型是线性的,处理能力有限,所以要想处理大规模问题,需要大量人力进行特征工程,组合相似的特征,例如user和Ad维度的特征进行组合.      GDBT天然适合做特 ...

  2. Kaggle实战——点击率预估

    https://blog.csdn.net/chengcheng1394/article/details/78940565 原创文章,转载请注明出处: http://blog.csdn.net/che ...

  3. 广告点击率 CTR预估中GBDT与LR融合方案

    http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate Pred ...

  4. 消息点击率翻倍的背后——闲鱼无侵入可扩展IFTTT系统

    一.面临问题 在闲鱼生态里,用户之间会有很多种关系.其中大部分关系是由买家触发,联系到卖家,比如买家通过搜索.收藏.聊天等动作与卖家产生联系:另外一部分是平台与用户之间的关系.对这些关系分析之后我们发 ...

  5. 高点击率的Banner设计14招

    英文原文:14 design tips for more clickable banner ads 译文:http://www.uisdc.com/banner-click-rate 虽然互联网发展迅 ...

  6. CTR点击率预估干货分享

    CTR点击率预估干货分享 http://blog.csdn.net/bitcarmanlee/article/details/52138713

  7. superset可视化不同算法的点击率

    1. 首先我们通过superset的SQL Editor来编辑语句,语句没有写完整 2. 得到的结果为: 3. 然后点击Visualize,如图所示: 4. 因为要在图中显示不同算法的点击率,需要把d ...

  8. CTR点击率简介

    点击率 简介 在搜索引擎(百度.谷歌)中输入关键词后进行搜索,然后按竞价等因素把相关的网页按顺序进行排列出来,然后用户会选择自己感兴趣的网站点击进去:把一个网站所有搜索出来的次数作为总次数,把用户点击 ...

  9. 十篇TED点击率最高演讲,带你重新认识大数据与人工智能

    我们通常过于专注于机器学习算法的实现,倾向于忽略这种技术本身的一些重要问题:如未来的应用和政治后果.在这篇文章中,我们从非常受欢迎的非营利组织TED上收集了一系列的视频(并非关注于选择什么语言或算法来 ...

随机推荐

  1. jQuery选择器的的优点

    jQuery选择器的的优点 选择器想必大家都不陌生,今天呢,我就给大家介绍一下jQuery选择器的优点: jQuery选择器更简洁的写法: jQuery完善的处理机制: jQuery选择器判断dom节 ...

  2. 基于本地文件系统的LocalDB

    零.前言 之前写一些小工具的时候,需要用到数据存储方面的技术,但是用数据库又觉得太大了,本地文件存储txt文件存储又不是很规范,于是乎想到了去编写一个简单的基于本地文件系统的数据存储库,暂且叫它loc ...

  3. 《Android进阶》之第六篇 Fragment 的使用2

    最近通过学习,对fragment的使用有了新的认识. 一开始接触android的时候,很是受不了这个fragment,总感觉它把一个简单的事情搞复杂啦,所以每次新建工程的时候总是固执的选择empty ...

  4. 用户输入与while循环

    函数input()的工作原理: 函数input()让程序短暂运行,等待用户输入一些文本,获取用户输入后将其存储在一个变量中 测试input()功能-- #!/usr/bin/env python#fi ...

  5. Mac主机映射到域名

    1, control+space  打开spotlight, 搜索"终端" 2, 打开终端 3, 在"终端"界面中输入: sudo vi /etc/hosts ...

  6. 根据源码用HttpServletRequest获取MultipartFile的问题

    问题 由于某些原因,现在需要这样的一个文件上传接口,这个接口type(String)是必传参数,photoFile(MultipartFile)是非必传参数,即一般情况下需要接受两个参数,分别为pho ...

  7. Customer segmentation – LifeCycle Grids with R(转)

    I want to share a very powerful approach for customer segmentation in this post. It is based on cust ...

  8. A function to help graphical model checks of lm and ANOVA(转)

    As always a more colourful version of this post is available on rpubs. Even if LM are very simple mo ...

  9. NetFramework各个版本的特性笔记

    公式记忆: .Net 2.0=CLR+BCL+C#(VB.Net)+Win Form+Web Form .Net 3.0=.Net 2.0+WCF+WPF+WF+WCS .Net 3.5=.Net 3 ...

  10. linux下查看账号密码的过期时间和设置时间

    [root@localhost myshell]# chage -l Usage: chage [options] [LOGIN] Options: -d, --lastday LAST_DAY se ...