天天看點

特征工程-TSA筆記

看了下前10名的答辯PPT,學習下廣告轉換率預測中的方法和特征工程中的經驗:

1.利用曆史流水

使用者最近一次安裝App時間差

使用者最近一次安裝同類App時間差

使用者同類别廣告浏覽統計

使用者最近幾天安裝App統計

使用者曆史浏覽position hash

使用者曆史浏覽App hash

同一個position處使用者浏覽不同素材個數

……

2.label窗特征

當日資料->

距離上一次和下一次點選廣告的時間差

距離當日第一次和最後一次點選廣告的時間

當日點選廣告的持續時間

短時間内重複點選廣告的計數以及次序

3.CVR特征

特征工程-TSA筆記

4.轉化率的貝葉斯平滑

由于資料稀疏性的原因,直接觀測到的CVR與真實的CVR之間

的誤差較大。是以利用貝葉斯平滑對CVR預估進行優化

·對于某廣告,C表示回流次數,I表示點選次數

·用平滑轉化率r作為特征

ri=Ci+αIi+α+β

參考文獻:Click-Through Rate Estimation for Rare Events In Online Adversting

5.使用01串表示使用者曆史點選

特征工程-TSA筆記

6.均值調整

根據訓練樣本來推測第31天的轉化率大緻為多少,然後對已有的預測結果進行調整.(logit逆變化後融合)

final_prediction=f(f−1(x)+b)

f(x) 是sigmoid函數,b值通過二分,逐漸使得變換後的均值與目标均值誤差小于1e-5

7.資料量過大,可以用流式統計方法,避免整體讀入記憶體中

8.借鑒以前three idiots的方案

9.線上/線下驗證集的挑選

先利用後幾天的來驗證下所用天的label的情況,他這裡把25号和30号都去掉了(也有隊伍保留了30号的資料,但是删除了轉化率突變的app資料)

特征工程-TSA筆記

10.特殊的Leak特征

特征工程-TSA筆記

11.利用xgboost訓練出來的決策樹,對連續特征分箱

特征工程-TSA筆記

12.資料處理時的經驗

特征提取使用Python的numpy、 pandas及Map Reduce

Tips

• 使用shell腳本并行提取特征

• 使用python的multiprocessing庫可以加速特征的提取

• 使用numpy.savez及scipy.csr_matrix完成特征檔案的持久化

13.定義了app非當天轉化率來對資料做清洗

訓練資料的末尾幾天由于轉化時間的滞後性,存在錯誤标簽的樣本,越靠近第30天,錯誤樣本的比例越大

14.時間特征

一天24小時分成48個半小時,點選事件發生區間作為特征

15.PNN和NFFM

特征工程-TSA筆記
特征工程-TSA筆記

16.tensorflow的embedding_lookup操作非常耗時,用embedding matrix(NFFM)快?