CTR校准

简介:

普遍预测CTR不准,需要校准。例如boosted trees and SVM预測结果趋于保守。即预測的概率偏向于中值;而对于NaiveBayes预測的概率,小概率趋于更小。大概率趋于更大。经常使用的校准方法有Binning和Pair‐Adjacent Violators (PAV);以下分别说说这两种方法。

Binning思想比較简单,也easy实现。


须要说明的是,通常校准算法不不过将概率校准为还有一概率。而是广义地将一分类器的输出score(比如SVM的输出)校准为一概率;这里的score在本文中指的就是预估的点击率CTR。

採用以上方法就能够得到每一个bin的平均输入概率和输出概率(输入输出都是相对于算法而言的)。

以下是我针对1kw曝光量的測试集得到的每一个bin输入输出概率:

7.88491695029e-08       9.80392156863e-05       4|50000
5.4510560119e-07        0.000274509803922       13|50000
1.35458085469e-06       0.000372549019608       18|50000
2.33257130656e-06       0.000588235294118       29|50000
3.39343704862e-06       0.000313725490196       15|50000
4.91818880101e-06       0.000352941176471       17|50000
6.69217711e-06  0.000313725490196       15|50000
8.65811344814e-06       0.000392156862745       19|50000
1.00954604284e-05       9.80392156863e-05       4|50000
1.14438087348e-05       0.00021568627451        10|50000
1.30646586671e-05       0.000196078431373       9|50000
1.50354239562e-05       0.000156862745098       7|50000
1.75724883698e-05       0.000235294117647       11|50000
2.012701573e-05 0.000196078431373       9|50000
2.25293057122e-05       0.000254901960784       12|50000
2.47121329232e-05       0.000294117647059       14|50000
2.68149995297e-05       0.000235294117647       11|50000
2.87109118589e-05       0.000235294117647       11|50000
3.03836824801e-05       0.000274509803922       13|50000
3.27245870019e-05       0.000450980392157       22|50000
3.51748897506e-05       0.000274509803922       13|50000
3.7623296079e-05        0.000352941176471       17|50000
4.03544768064e-05       0.000490196078431       24|50000
。。。

这仅仅是前面一些片段,第一列为每一个bin的平均预估点击率,第二列是校准的点击率,第三列为校准时分子分母的值(这里就是点击量和曝光量),这里每一个bin的总量均为50000。对整个每一个bin的平均预估点击率和校准点击率画出散点图为:


能够看出两个点击率是相关的。这样看还看不出详细什么关系,画出对数图:


能够非常明显地看出平均预估点击率大于0.0001时。平均预估点击率的对数与校准点击率的对数是呈线性关系,

logy = alogx + b                  得到y = cx^a, 预计出參数c和a就可以。

对于平均预估点击率小于0.0001时,能够简单地使用线性回归求出方程。

有了这两个方程就能够对随意的点击率进行校准了。

当然,我看也有人将以上平均预估点击率划分成若干区间0  < v1 < v2 < : : : < vn+1 < 1,对随意的点击率进行查找所属区间(vi,vi+1),採用线性插值得到的校准点击率为  α p(vi) + (1 - α )p(vi+1)。


1.将score由大到小排序,对于随意两个相邻的score(i)和score(j)。若它们相应的样本属于不同类,则我们希望样本i属于正类,样本j属于负类
2.对于随意两个相邻score,若上述条件不满足,则令这两个score所定义区间相应的后验概率为score(i)和score(j)的均值。
3.对排序后的score依照上述规则进行一次“扫描”(由小到大或由大到小均可),直到没有变化为止,即完毕了PAV


python-sklearn包中含有http://scikit-learn.org/stable/modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression  能够直接调用:

from sklearn.isotonic import IsotonicRegression as IR

ir = IR()
ir.fit( p_train, y_train )
p_calibrated = ir.transform( p_test )   # or ir.fit( p_test ), that's the same thing

參考资料:

http://fastml.com/classifier-calibration-with-platts-scaling-and-isotonic-regression/

http://scikit-learn.org/stable/modules/generated/sklearn.isotonic.IsotonicRegression.html#sklearn.isotonic.IsotonicRegression

http://wan.poly.edu/KDD2012/docs/p768.pdf  







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5036775.html,如需转载请自行联系原作者

相关文章
|
运维 Linux Shell
|
5月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
机器学习/深度学习 数据采集 算法
【机器学习】K-Means聚类的执行过程?优缺点?有哪些改进的模型?
K-Means聚类的执行过程、优缺点,以及改进模型,包括K-Means++和ISODATA算法,旨在解决传统K-Means算法在确定初始K值、收敛到局部最优和对噪声敏感等问题上的局限性。
318 2
|
算法
字节跳动《算法中文手册》火了,完整版 PDF 开放下载!
字节跳动《算法中文手册》火了,完整版 PDF 开放下载!
3013 0
字节跳动《算法中文手册》火了,完整版 PDF 开放下载!
|
安全 Java 数据安全/隐私保护
快速掌握 WinRAR:详细安装与使用指南
**WinRAR 摘要** WinRAR 是全能压缩工具,支持多格式,如 RAR, ZIP 等。要下载,访问 &lt;https://www.win-rar.com&gt; 选择适合的操作系统和语言。安装时,定制路径和选项,如桌面快捷方式。启动后,通过“选项”-&gt;“设置”配置首选项。使用上,能新建压缩文件,设定格式和选项,也可解压文件到指定目录。遇到问题,如文件损坏,可利用 WinRAR 的修复功能。本文提供下载、安装和使用指导,确保用户顺利操作。
|
存储 分布式计算 Hadoop
Hadoop数据合并技巧
【5月更文挑战第10天】Hadoop数据合并技巧
379 2
conda和pip指定镜像源下载
conda和pip指定镜像源下载
1178 1
|
5G 调度
带你读《5G 系统技术原理与实现》——3.3 5G 时频资源
带你读《5G 系统技术原理与实现》——3.3 5G 时频资源
带你读《5G 系统技术原理与实现》——3.3 5G 时频资源
|
机器学习/深度学习 算法
阿里首次将用户手势数据用于电商场景!淘宝提出的算法DIPN秒杀传统模型
用户消费行为预测已然是电商领域的经典问题。通过对用户实时意图的理解,我们可以感知用户当下正处于哪个阶段,比如是在买还是在逛,从而可以根据不同阶段制定不同的营销和推荐策略,进而提升营销和推荐效果。
3675 0
|
存储 安全 关系型数据库
Linux日志管理rsyslog系统日志管理
本篇文章带大家了解日志管理中的esyslog系统日志管理,了解日志是从哪里来的,怎么观察日志,以及配置日志设备文件,学习怎么查看常见的一些种类的日志信息。本篇文章需要关心的问题:哪类程序--->产生的什么日志--->放到什么地方
569 0