R逻辑回归与CTR预估

2013-1-25

逻辑回归可以用在CTR(Click Through Rate)预估上,即通常所说的点击率预估。点击率预估的意义在于,搜索引擎等广告平台想要赚更多的钱,就要通过某一种机制让赚钱最多的广告排在前面(或有更多的概率被展示)。

一、排序规则


为了获得更多的收益,一般搜索引擎、广告联盟的排序规则是:

rankScore=CTRbidPrice

其中 bidPrice 是指广告主给出的竞拍价格, CTR 就是我们预估的该广告的点击率,总体结果越高越容易被展示。

当然,这个最终的分数计算还有其他的规则,这里只是列出具CTR预估在这里的重要作用。

二、逻辑回归


我们依然使用之前在逻辑回归中用到的 sigmoid 函数作为模型:

P(y=1|x)=11+expwx

含义为,我们给出一个查询Q和一个广告,预测其被点击(y=1)的概率。

我们的特征数据包括:广告质量得分、广告创意得分、Query与广告的相关性、相对价格、相对成交量等等,具体这些特征的值如何获得又是另外的课题,这里暂不涉及。

有了特征数据,现在我们有一批数据如下图所示:

0 20 0.294181968932 0.508158622733 0.182334278695 0.629420618229
0 68 0.1867187241 0.606174671096 0.0748709302071 0.806387550943
0 18 0.62087371082 0.497772456954 0.0321750684638 0.629224616618
1 90 0.521405561387 0.476048142961 0.134707792901 0.400062294097
0 75 0.0126899618353 0.507688693623 0.377923880332 0.998697036848
0 8 0.308646073229 0.930652495254 0.755735916926 0.0519441699996
0 64 0.444668888126 0.768001428418 0.501163712702 0.418327345087
0 79 0.842532595853 0.817052919537 0.0709486928253 0.552712019723
1 32 0.410650495262 0.164977576847 0.491438436479 0.886456782492

其中第一列是正样本(被点击)的个数,第二列是负样本(展示但未点击个数)。

三、逻辑回归


关于逻辑回归的原理可以参考我之前的文章,我们会发现这里的数据与之前的不同,每一行不再是一个单独的记录,而是一组记录的统计,这种形式在实践中更容易计算,并且更节省存储空间。

四、R逻辑回归


我们首先把数据读取到内存中,存储于ctr_data变量中:

ctr_data = read.csv('CTR_DATA.txt',header=F,sep=" ")

看一下里面的数据:

> head(ctr_data)
  V1 V2         V3        V4         V5         V6
1  0 20 0.29418197 0.5081586 0.18233428 0.62942062
2  0 68 0.18671872 0.6061747 0.07487093 0.80638755
3  0 18 0.62087371 0.4977725 0.03217507 0.62922462
4  1 90 0.52140556 0.4760481 0.13470779 0.40006229
5  0 75 0.01268996 0.5076887 0.37792388 0.99869704
6  0  8 0.30864607 0.9306525 0.75573592 0.05194417

把该变量添加到环境变量中,这样后面使用其中的字段就可以直接写了:

attach(ctr_data)

最重要的一步,根据数据生成逻辑回归模型:

ctr_logr = glm(cbind(V1,V2)~V3+V4+V5+V6,family=binomial(link="logit"))

其中 y ~ x1+x2 的意思是根据 x1 x2 来预测y出现的概率。

我们新创建一个数据集,对其出现的概率(即V1所代表的含义)进行预测:

record = data.frame(V3=0.294181968932,V4=0.508158622733,V5=0.182334278695,V6=0.629420618229)
pscl包中的predprob函数
1 
0.004845833

可以清楚地看到,该特征向量(即一个广告)被点击的概率是0.00484,也就是说大约展示250次可能会被点击一次。


【转载至】http://sobuhu.com/ml/2013/01/25/r-ctr.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值