点击率校准

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

Binning思想比较简单,也容易实现。

需要说明的是,通常校准算法不仅仅是将概率校准为另一概率,而是广义地将一分类器的输出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 &#20; < v1 < v2 < : : : < vn+1 <&#20; 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

时间: 2024-10-12 18:33:11

点击率校准的相关文章

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

1GBDT和LR融合 LR模型是线性的,处理能力有限,所以要想处理大规模问题,需要大量人力进行特征工程,组合相似的特征,例如user和Ad维度的特征进行组合. GDBT天然适合做特征提取,因为GBDT由回归树组成所以, 每棵回归树就是天然的有区分性的特征及组合特征,然后给LR模型训练,提高点击率预估模型(很多公司技术发展应用过,本人认为dnn才是趋势). 例如,输入样本x,GBDT模型得到两颗树tree1和tree2,遍历两颗树,每个叶子节点都是LR模型的一个维度特征,在求和每个叶子*权重及时L

百度和谷歌首页排名点击率

排名    google    baidu Rank1: 34.35     28.56 Rank2: 16.96     19.23Rank3: 11.42     10.20Rank4: 7.73      8.14Rank5: 6.19      7.50Rank6: 5.05      5.72Rank7: 4.02      4.01Rank8: 3.47      4.41Rank9: 2.85      5.53 Rank10: 2.71      6.70 百度和谷歌首页排名点击

电商干货!1000万烧出来的高点击率钻展创意图十大原则(营销&amp;人性)

梦想凯歌:创意图的钻展的灵魂,没有创意图你什么都不是.无论是日常推广还是做大促活动,创意图是测试的重中之重,一定要提前测试好每一个资源位的创意图.今天这篇好文是一个资深电商设计师在操作钻展烧了1000多万后总结的经验,不少技巧可以用在Banner设计上. 创意图是你获取流量的入口,由创意图延升到落地页,进而是整一个活动项目. 所以,这节课很关键,也是我这系列课程的重点.到目前操作钻展也至少烧了1000多万了. 很多朋友常常发图片给梦想凯歌,问如何优化?这十大原则是我梦想凯歌做创意图的总结! 虽然

广告点击率预测 [离线部分]

原文:http://quweiprotoss.blog.163.com/blog/static/4088288320144810567471/ 广告点击率预测 屈伟 / Koala++ 先声明一下,本文所提到的所有的点击率预测的技术不是我在的团队使用的,因为我们团队使用的技术是保密的,所以我也不知道他们是怎么做的.事实上我不知道广告点击率怎么预测的,认识我的人都知道,我就是最喜欢舞那开始三板斧的人,然后我就想扔了板斧投降了.也希望各位能指正我所写的内容中的错误之处,给我一下学习第四斧的机会. 强

互联网广告综述之点击率特征工程

互联网广告综述之点击率特征工程 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的.如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止. 3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢. 4)阅读本文需要机器学习.统计学习理论.优化算法等等基础(如果没有也没关

【点击模型学习笔记】广告点击率估算技术综述_华东师范大学学报2013

概要: 不是一篇高质量文章,不过是一篇还算不错的综述,而且时间够新(2013). 具体内容:按照文章原本内容顺序罗列 0. 介绍 * 赞助商广告:投放到搜索结果页面 * 情境广告:在网页某个位置上投放,一般由广告联盟介入 1. 广告点击率预测的应用背景 * 广告点击率一般比较低,能达到0.2%就已经是很好的投放了 * 大量的广告.查询都是很稀疏的 * 利用用户点击行为的,除了点击率预测,还有两个领域:搜索结果排序和推荐系统 * "Inferring Clickthrough Rates on A

点击率模型AUC

一 背景 首先举个例子: 正样本(90)                       负样本(10) 模型1预测        正(90)                                正(10) 模型2预测        正(70)负(20)                正(5)负(5) 结论: 模型1准确率90%: 模型2 准确率75% 考虑对正负样本对预测能力,显然模型2要比模型1好,但对于这种正负样本分布不平衡对数据,准确率不能衡量分类器对好坏了,所以需要指标auc解决

程序化广告交易中的点击率预估

原文:http://www.cnblogs.com/Matrix_Yao/p/4773221.html 程序化广告交易中的点击率预估 指标 广告点击率预估是程序化广告交易框架的非常重要的组件,点击率预估主要有两个层次的指标: 1. 排序指标.排序指标是最基本的指标,它决定了我们有没有能力把最合适的广告找出来去呈现给最合适的用户.这个是变现的基础,从技术上,我们用AUC来度量. 2. 数值指标.数值指标是进一步的指标,是竞价环节进一步优化的基础,一般DSP比较看中这个指标.如果我们对CTR普遍低估

广告点击率预测

原文:http://quweiprotoss.blog.163.com/blog/static/4088288320144810567471/ 广告点击率预测 屈伟 / Koala++ 先声明一下,本文所提到的所有的点击率预测的技术不是我在的团队使用的,因为我们团队使用的技术是保密的,所以我也不知道他们是怎么做的.事实上我不知道广告点击率怎么预测的,认识我的人都知道,我就是最喜欢舞那开始三板斧的人,然后我就想扔了板斧投降了.也希望各位能指正我所写的内容中的错误之处,给我一下学习第四斧的机会. 强