IJCAI-18 阿里媽媽搜索廣告轉(zhuǎn)化預(yù)測(初賽)

從2018年3月1號開始,IJCAI-18阿里媽媽搜索廣告轉(zhuǎn)化預(yù)測大賽開始了,選手可以進(jìn)行數(shù)據(jù)的下載和分析。由于上一個比賽--印象鹽城-數(shù)創(chuàng)未來大數(shù)據(jù)競賽-鹽城汽車上牌量預(yù)測的復(fù)賽要到9號截止,因此,我在大概三月中旬才開始進(jìn)行數(shù)據(jù)分析。 由于我是一個萌新,之前接觸類似的比賽也比較少,很多數(shù)據(jù)分析,特征篩選等方法也都還沒掌握得很好,因此這篇博客也只能作為心得和總結(jié)。接下來將會從賽題背景,數(shù)據(jù)分析,特征,模型以及總結(jié)五大部分講述這次比賽初賽的一些感想和收獲。
附 :github地址

  • 1 賽題背景
    本次比賽主要是關(guān)于廣告CTR(Click-Through-Rate),即廣告的點(diǎn)擊轉(zhuǎn)化率。搜索廣告的轉(zhuǎn)化率,作為衡量廣告轉(zhuǎn)化效果的指標(biāo),從廣告創(chuàng)意、商品品質(zhì)、商店質(zhì)量等多個角度綜合刻畫用戶對廣告商品的購買意向,即廣告商品被用戶點(diǎn)擊后產(chǎn)生購買行為的概率。舉例來說,用戶在淘寶搜索欄輸入“女裝”并點(diǎn)擊,相關(guān)的女裝列表將會展現(xiàn)給用戶,用戶點(diǎn)擊感興趣的女裝進(jìn)入詳情頁,通過查看商品介紹、店家信譽(yù)、用戶評論等信息綜合決定是否購買,如果有M個用戶進(jìn)入同一商品詳情頁,其中N個購買了該商品,那么該商品的轉(zhuǎn)化率為成交總數(shù)和點(diǎn)擊總數(shù)的比值(N/M)。在這個過程中,如果能夠?qū)⑥D(zhuǎn)化率高的商品返回給用戶,那么用戶看到的商品正好就是想要購買的商品,這樣用戶將會更快速地找到喜歡的商品,從而提高用戶體驗(yàn);另一方面,廣告每被用戶點(diǎn)擊一次商家都要付出一定的成本,如果廣告被點(diǎn)擊卻沒有成交,廣告主將白白付出成本,而如果展現(xiàn)給用戶且被點(diǎn)擊的廣告商品都產(chǎn)生了購買,那么商家雖然付出成本但還是能從成交中獲得收益。總結(jié)來說,準(zhǔn)確預(yù)估轉(zhuǎn)化率,能夠使得廣告主匹配到最可能購買自家商品的用戶,提升廣告主的投入產(chǎn)出比(ROI);另一方面,也能讓用戶快速找到購買意愿最強(qiáng)的商品,從而提升在電商平臺中的用戶體驗(yàn)。
  • 2 數(shù)據(jù)分析
    • 2.1 關(guān)于數(shù)據(jù)集
      本次初賽的數(shù)據(jù)量并不大,訓(xùn)練集時(shí)間跨度是從2018-09-18到2018-09-24,而測試集則分了A榜和B榜兩部分進(jìn)行線上驗(yàn)證,A榜是2018-09-25當(dāng)天數(shù)據(jù)抽取30%,另外一部分作為B榜的線上驗(yàn)證。由于初賽的數(shù)據(jù)量不大,而且線下和線上都是一樣的數(shù)據(jù)分布,因此在訓(xùn)練的時(shí)候可以把所有的數(shù)據(jù)放到xgb里面訓(xùn)練。 (數(shù)據(jù)時(shí)間經(jīng)過脫敏)
      通過分析可以看到,數(shù)據(jù)集的正負(fù)樣本不太均衡,負(fù)樣本占了很大的比例。但是由于線上和線下分布一致,所以一開始沒有考慮進(jìn)行正負(fù)樣本比例調(diào)整,比如說進(jìn)行負(fù)樣本采樣或者正樣本過采樣。
    • 2.2 關(guān)于特征
      通過分析可以知道,對于一些特征,比如說用戶性別,用戶年齡等,存在空值情況,由于xgb可以自動處理空值,因此,在初賽的時(shí)候就沒有對空值進(jìn)行處理。
      通過分析過后,可以看到很多特征其實(shí)好像是對轉(zhuǎn)化率有一定的影響,都是呈現(xiàn)一個二次型的形式,就是在某個值轉(zhuǎn)化率會達(dá)到最高,因此在一開始我是進(jìn)行區(qū)間劃分,將少量的值進(jìn)行區(qū)間合并,剩下的特征進(jìn)行onehot處理,后面放棄了這個操作,因?yàn)槠鋵?shí)xgb會自動尋找最佳的分割點(diǎn)。
      關(guān)于組合特征,通過透視表分析,找不到很大的規(guī)律,但是想著先提高模型的復(fù)雜度,我是提取了一些組合特征放到模型里面。
  • 3 特征
    初賽的特征,并沒有做很多,因?yàn)橐婚_始覺得一味地堆特征會引入噪聲,降低模型精度(其實(shí)后來發(fā)現(xiàn),在特征這一塊,大佬們是通過兩種方式提高精度的,一種是一味地堆特征,另一種,則是提取強(qiáng)特)??偟膩碚f,初賽時(shí)候的特征可以分為基礎(chǔ)特征,用戶維度的統(tǒng)計(jì)特征,單維度分析特征,滑窗特征,穿越特征,組合特征。
    • 基礎(chǔ)特征(上下文,用戶,商品,店鋪維度的特征)
      廣告商品的展示頁面編號
      用戶性別 / 年齡等級 / 職業(yè)編號 / 星際編號
      商品品牌編號 / 城市編號 / 價(jià)格等級 / 銷量等級 / 被收藏的次數(shù)等級 / 被展示次數(shù)等級
      店鋪的評價(jià)數(shù)量等級 / 好評率 / 星級編號 / 服務(wù)態(tài)度評分 / 物流服務(wù)評分 / 描述相符評分
    • 單維度分析特征(針對上下文信息中的根據(jù)查詢詞預(yù)測的類目屬性列表與商品的類目列表和屬性列表,定義了一個匹配程度特征,一開始簡單粗暴地定義為兩者交集個數(shù) / 預(yù)測的個數(shù);關(guān)于店鋪那一塊的特征,比如好評率,只是簡單地計(jì)算了均值然后進(jìn)行對比,后面證明效果并不好)
      預(yù)測類目 / 屬性的個數(shù),商品實(shí)際的類目 / 屬性個數(shù),以及兩者的匹配程度
      店鋪好評率 / 服務(wù)態(tài)度評分 / 物流服務(wù)評分 / 描述相符評分與均值的差 ,是否高于均值
      小時(shí),小時(shí)轉(zhuǎn)化率
    • 組合特征(對轉(zhuǎn)化率特征進(jìn)行貝葉斯平滑處理,對于沒有出現(xiàn)的用戶的轉(zhuǎn)化率,在處理后會被賦值為均值。貝葉斯平滑,避免了5/10和50/100一樣轉(zhuǎn)化率的情況,因?yàn)?0次中出現(xiàn)5次其實(shí)是存在很大的偶然性,也避免了沒有出現(xiàn)過的用戶直接賦值為0的情況)
      用戶 / 用戶品牌 / 用戶店鋪 / 用戶葉子類目 / 用戶商品對應(yīng)的點(diǎn)擊次數(shù) / 購買次數(shù) / 轉(zhuǎn)化率
      用戶性別與品牌 / 店鋪的轉(zhuǎn)化率
    • 用戶維度的統(tǒng)計(jì)特征
      用戶一個小時(shí)前的點(diǎn)擊次數(shù),點(diǎn)擊相同商品 / 店鋪 / 葉子類目 / 品牌的次數(shù)
      用戶一天前的點(diǎn)擊次數(shù),點(diǎn)擊相同商品 / 店鋪 / 葉子類目 / 品牌的次數(shù)
      用戶歷史點(diǎn)擊次數(shù),點(diǎn)擊相同商品 / 店鋪 / 葉子類目 / 品牌的次數(shù)
      用戶距離上一次點(diǎn)擊時(shí)間間隔,距離上次點(diǎn)擊相同商品 / 店鋪 / 葉子類目 / 品牌的時(shí)間間隔
    • 滑窗特征(初賽的時(shí)候的滑窗,主要是以3天為窗口長度,即以18到20號提取21號對應(yīng)的滑窗特征,以此類推)
      用戶 / 用戶商品 / 用戶品牌 / 用戶店鋪 / 用戶葉子類目在時(shí)間窗口內(nèi)的點(diǎn)擊量 / 購買量 / 轉(zhuǎn)化率
    • 穿越特征
      用戶后面點(diǎn)擊相同商品 / 葉子類目次數(shù),后面是否點(diǎn)擊相同商品 / 葉子類目
  • 4 模型
    初賽階段,走了很多彎路,浪費(fèi)了挺多的時(shí)間,因此在模型上面并沒有做很大的文章,只是簡單的使用了目前比較流行的xgb模型,關(guān)于參數(shù),一開始采用了網(wǎng)格搜索方式來做,后面發(fā)現(xiàn)耗費(fèi)的時(shí)間也挺多的,也嘗試了進(jìn)行手動調(diào)參的方法(參數(shù)調(diào)整順序:樹的最大深度max_depth-->孩子節(jié)點(diǎn)中最小的樣本權(quán)重和min_child_weight-->用于訓(xùn)練模型的子樣本占整個樣本集合的比例subsample-->在建立樹時(shí)對特征隨機(jī)采樣的比例colsample_bytree-->L2 正則的懲罰系數(shù)lambda-->gamma),發(fā)現(xiàn)效果相差不大。調(diào)參后期,嘗試了調(diào)小學(xué)習(xí)率,證明了確實(shí)是可以調(diào)高模型的精度的,所以我在后面基本都是采用0.01的學(xué)習(xí)率。初賽的時(shí)候也采用了xgb內(nèi)置的交叉驗(yàn)證方法檢驗(yàn)?zāi)P?,查看模型誤差。
  • 5 總結(jié)
    作為一個萌新,真的是第一次打這種類型的比賽,由于一開始沒有去參考類似比賽的做法,所以很多時(shí)候都是自己在瞎YY,浪費(fèi)了很多的時(shí)間。此外,在這個初賽中,接觸了很多的概念,比如滑窗,比如分桶,比如統(tǒng)計(jì)特征,比如組合特征要怎么做,以及貝葉斯平滑等等,確實(shí)在初賽就學(xué)到了很多的做法。在模型方面,這次也是我第一次接觸xgb,之前是有接觸過樹模型,xgb是基于決策樹的,因此對于參數(shù)的理解還比較好入門,不過在一開始的時(shí)候?qū)gb模型的節(jié)點(diǎn)分割理解還不是很清晰,也不知道樹模型其實(shí)對比較稀疏的特征是比較難處理的,因此把一些稀疏的特征也弄到了模型里面,比如user_id,后面把這類特征去掉后,精度提升了很多。
    總的來說,這次阿里媽媽的初賽,最終只是以200多名成績進(jìn)了復(fù)賽,感覺自己很多東西都沒做好,首先是數(shù)據(jù)特征分析那一塊,很少畫圖表等直觀的東西進(jìn)行輔助分析,很多時(shí)候只是自己在YY;其次,是關(guān)于模型方面,只是單一的使用xgb,沒去嘗試其他的模型,包括fm,ffm,deep and wide,deep and cross等;時(shí)間規(guī)劃方面也做得不好,沒有規(guī)劃好時(shí)間。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • layout: posttitle: IJCAI 2018 阿里媽媽廣告預(yù)測算法categories: Cased...
    毛毛蟲_wendy閱讀 3,238評論 3 9
  • 做淘寶真的要刷單么?那些所謂的七天螺旋,如果你一個新開的店,沒權(quán)重沒流量,不刷單哪來的螺旋給你? 淘寶大環(huán)境下,小...
    我是盼盼呢閱讀 10,057評論 1 16
  • 每天進(jìn)步一點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)~~從開始只能寫幾句話、模仿別人的觀點(diǎn),到現(xiàn)...
    一個帥氣的名字呀閱讀 18,936評論 4 31
  • 從小我就覺得自己是個很普通的人,有個姐姐,有個一般的家庭,爸媽有時(shí)會吵架但是更多的是我們四口之家的溫馨甜蜜,在家里...
    當(dāng)然于此閱讀 157評論 0 0

友情鏈接更多精彩內(nèi)容