R逻辑回归
R邏輯回歸與????
2013-08-26 11:11 1990人閱讀 評論(0) 收藏 舉報 本文章已收錄于: 分類: Computational Advertising(3) 作者同類文章X目錄(?)[+]
2013-1-25
邏輯回歸可以用在CTR(Click Through Rate)預估上,即通常所說的點擊率預估。點擊率預估的意義在于,搜索引擎等廣告平臺想要賺更多的錢,就要通過某一種機制讓賺錢最多的廣告排在前面(或有更多的概率被展示)。
一、排序規則
為了獲得更多的收益,一般搜索引擎、廣告聯盟的排序規則是:
rankScore=CTR?bidPrice其中bidPrice是指廣告主給出的競拍價格,CTR就是我們預估的該廣告的點擊率,總體結果越高越容易被展示。
當然,這個最終的分數計算還有其他的規則,這里只是列出具CTR預估在這里的重要作用。
二、邏輯回歸
我們依然使用之前在邏輯回歸中用到的sigmoid函數作為模型:
P(y=1|x)=11+exp?wx
含義為,我們給出一個查詢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次可能會被點擊一次。
總結
- 上一篇: 高效计算基础与线性分类器
- 下一篇: 互联网金融之量化投资深度文本挖掘——附源