用逻辑回归预测ctr能达到什么效果

 我来答
百度网友e283cce
2017-10-20
知道答主
回答量:5
采纳率:0%
帮助的人:5683
展开全部
逻辑回归对ctr预估的主要应用场景比谨丛粗如广告、推荐、搜索引擎。主要是作为rank的依据。在各个应用场景里效果都还不错郑伏,算是工业界比较成熟的应用场景了。google、baidu的搜索广告中应用的效果非常不错,给广告收入带来了不少祥镇的增长。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangjuan314
2016-03-28 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2876万
展开全部
逻辑回归可以用在CTR(Click Through Rate)预估上,即通常所说的点击率预估。点击率预估的意义在于,搜索引擎等广告平台想要赚更多的钱,就要通过某一种机制让赚钱最多的广告排在前面(或有更多的概率被展示)。
一、排序规则
为了获得更多的收益,一般搜索引擎、广告联盟的排序规则是:
其中$bidPrice$是指广告主给出的竞拍价格,$CTR$就是我们预估的该广告的点击率,总体结果越高越容易被展示。
当然,这个最终的分数计算还有其他的规则,这里只是列出具CTR预估在这里的重要作用。
二、逻辑回归
我们依然使用之前在逻辑回归中用到的$sigmoid$函数作为模型:
含义为,我们给出一个查询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$~$x {1}+x {2}$的意思是根据$x {1}$、$x {2}$来预测y出现的概率。
我们新创建一个数据集,对其出现的概率(即V1所代表的含义)进行预测:
record = data.frame(V3=0.294181968932,V4=0.508158622733,V5=0.182334278695,V6=0.629420618229)
d <- predict(ctr_logr, newdata = record, type = "response")
1
0.004845833

可以清楚地看到,该特征向量(即一个广告)被点击的概率是0.00484,也就是说大约展示250次可能会被点击一次。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式