1 离线指标

1.1 LogLoss

1.1.1 KL散度

  logloss使用KL散度来计算。设样本的真实分布为P,预测分布为Q,则KL散度定义如下:

  

  这里可以通俗地把KL散度理解为相同事件空间里两个概率分布的相异情况。KL散度越小,预测分布越接近真实分布。

  KL散度的物理意义是:使用分布Q来对真实分布为P的事件进行编码,导致平均编码长度增加了多少。具体解释可见百度和知乎。

1.1.2 CTR中KL散度的计算

  CTR预估中,上面的概率分布为二项分布。设真实的点击率是tctr,预测的点击率是pctr。因此真实的二项分布P是(tctr,1-tctr),预测的二项分布Q是(pctr,1-pctr)。因此KL散度公式可以写成如下:

  tctr可以通过统计得出,表示为 tctr = click / impression。则KL散度可以变形如下:

因此,计算logloss的伪代码如下:

1.2 AUC

1.2.1 二分类的常用评价指标

  CTR预估是一个二分类问题。二分类问题的评价指标有FP rate,TP rate,准确率accuracy,精确率precision,召回率recall,分别定义如下:

  其中,precision表示的是预测为阳性的样本中有多少是预测对的,recall表示有多少阳性样本被预测了出来,这二者通常是此消彼长,需要根据具体场合看用哪个指标。

  accuracy表示预测准确的占所有的样本的比例。

  Roc图表示的横坐标是Fp rate, 纵坐标是Tp rate。一个分类器的Fp rate越小,Tp rate越大,这个分类器就越好,对应在ROC图中就是靠近左上角。最完美的点是(0,1),最差的点是(1,0)。

  如上所示,D是最好的,然后是A,B,然后是C,然后是F。AB之间比较就不好说了。

1.2.2 ROC曲线

  由于预测值是一个评分,还要通过选定一个阈值来将它划分成1还是0。我们按照预测值对样本降序排列,并且从上到下以预测值为阈值:

  

  可以看出如果阈值选的不同,TP rate和FP rate是不同的。每选一个阈值,就能在ROC图上确定一个点,这样就能得到一条ROC曲线:

1.2.3 AUC

  AUC是ROC曲线与横坐标轴围成的面积。数学上可以证明,AUC值等于一个概率,即在前面已经排序的样本列表中,随机选取一个正样本,再随机选取一个负样本,正样本排在负样本之前的概率。即AUC表征了正样本排在负样本前面的能力,并且与阈值选取无关,而与模型本身有关。

1.2.4 AUC的计算

CTR预估评价指标介绍的更多相关文章

  1. 【项目】搜索广告CTR预估(一)

    本文介绍CTR相关基础知识. 一.广告投放系统 广告系统包含多个子系统.除了上图所示的广告投放系统外,还包含商业系统(广告库的获得),统计系统(点击展示日志的获得)等. 广告投放系统主要是面向用户的, ...

  2. (1)搜索广告CTR预估

    https://www.cnblogs.com/futurehau/p/6181008.html 一.广告投放系统 广告系统包含多个子系统.除了上图所示的广告投放系统外,还包含商业系统(广告库的获得) ...

  3. CTR预估中的贝叶斯平滑方法(一)原理及实验介绍

    1. 背景介绍 广告形式: 互联网广告可以分为以下三种: 1)展示广告(display ad) 2)搜索广告(sponsored search ad) 3)上下文广告(contextual ad)   ...

  4. 【项目】百度搜索广告CTR预估

    -------倒叙查看本文. 6,用auc对测试的结果进行评估: auc代码如下: #!/usr/bin/env python import sys def auc(labels,predicted_ ...

  5. 【项目】搜索广告CTR预估(二)

    项目介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-through ...

  6. Kaggle : Display Advertising Challenge( ctr 预估 )

    原文:http://blog.csdn.net/hero_fantao/article/details/42747281 Display Advertising Challenge --------- ...

  7. 计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践

    计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004更多 分类专栏: 机器学习 机器学习荐货情报局   版 ...

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

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

  9. CTR预估中的贝叶斯平滑方法及其代码实现

    1. 背景介绍 广告形式: 互联网广告可以分为以下三种: 1)展示广告(display ad) 2)搜索广告(sponsored search ad) 3)上下文广告(contextual ad)   ...

随机推荐

  1. CRC校验码原理、实例、手动计算

    目录一.CRC16实现代码二.CRC32编码字符表三.CRC校验码的手动计算示例四.CRC校验原理五.CRC的生成多项式参考 一.CRC16实现代码 思路:取一个字符(8bit),逐位检查该字符,如果 ...

  2. 安卓开发:一种快速提取安卓app的UI图标资源的方法

    在做安卓设计时,找美工设计界面的漂亮图标是必不可少的,但是对于一个初创团队来说,请一个UI的成本其实也挺高的,此时对于一个偏技术的产品经理来说,从其他成熟的产品的apk中提取图标就是一个很便捷的方法, ...

  3. Android6.0动态申请权限

    先直接看代码: public void onClick(View v){ onCallPermission(); } public void onCallPermission(){ if (Build ...

  4. Spring+MyBatis框架中sql语句的书写,数据集的传递以及多表关联查询

    在很多Java EE项目中,Spring+MyBatis框架经常被用到,项目搭建在这里不再赘述,现在要将的是如何在项目中书写,增删改查的语句,如何操作数据库,以及后台如何获取数据,如何进行关联查询,以 ...

  5. 什么是Jedis?

    Jedis 是 Redis 官方首选的 Java 客户端开发包. 实例方法: 1 import redis.clients.jedis.* 1 2 3 Jedis jedis = new Jedis( ...

  6. How to step through your code in chrome

    By executing code one line or one function at a time, you can observe changes in the data and in the ...

  7. 递推 hdu 2048

    t 关于错排 共n个数 第n个 和一个交换  其他n-2错排  (n-1)*z[n-2]; n-1个错排 第n个和n-1个交换    (n-1)*z[n-1]; 求和 然后概率的话要除n! 一个一个除 ...

  8. Advanced Office Password Recovery如何设置快捷方式

    一般软件安装成功之后都会在桌面上形成快捷方式以方便使用,但是一些用户发现Advanced Office Password Recovery这种office密码破解工具安装成功后桌面上没有出现快捷方式, ...

  9. Servlet实现asp.net中的Global.asax启动事件(Servlet和Listener使用)

    1.Java Web中没有像asp.net的全局启动事件,但是可以通过web.xml中的load-on-startup节点来控制Servlet的开机启动和启动次数.web.xml详细配置参考:http ...

  10. zTree简单实现

    用zTree简单实现从后台传数据生成树 1.在jsp上引入js,jsp的head完整的部分 <%@ page language="java" contentType=&quo ...