大賽連接算法
https://tianchi.aliyun.com/getStart/information.htm?spm=5176.100067.5678.2.6d75153cK2qkgK&raceId=231522測試
總之,就是給你必定量用戶在一個月時間(11.18~12.18)以內的移動端行爲數據(D),而後去判斷這些用戶在(12.19)對商品子集(P)的購買數據編碼
剛看到這個題目,一頭霧水,哪些是訓練集?怎麼測試?.net
結合通常的購物習慣,用戶把商品加入購物車之後的當天或者次日是最可能產生購買行爲的,過了一個月以後極可能想買的慾望會下降不少,也就是說,把用戶前一個月的行爲進行加權平均,越靠近12.19號的行爲權重更大,這不是妥妥的指數加權平均算法嗎?設計
關於指數加權平均數,能夠參考此文:https://blog.csdn.net/u014525760/article/details/79331898orm
具體思路和步驟:htm
1.給定的數據集只提取user_id,item_id,behavior_type,time,空間標識和商品標識先不用吧blog
2.把time的時間簡化爲1-30的int數據get
3.去重,去掉同一用戶對同一商品在同一天的屢次相同行爲it
4.把behavior_type用3個one-hot編碼表示,用0-沒有添加購物車,1-添加購物車,0-沒有收藏,1-收藏,0-未購買,1-購買
5.到底前一天的添加購物車或者收藏行爲對次日的購物行爲的權重有多大呢?能夠用12.18是否購買和前29天的購物行爲推算
6,初步肯定計算公式(迭代公式):
某一日的購買指數是前一天的心儀指數和前一天的購買指數的加權平均(初步估計係數爲0.8,加購物車購買係數先設計個0.8,收藏購買係數先設計個0.2吧,不要問我爲何,我也不知道,先試試)
依次計算每個用戶對一個商品的心儀指數,例如:
只在12.17日加了購物車而且收藏的話就是:0.2*(0.8*1+0.2*1)
分別在12.15日收藏和在12.18日加入購物車的話就是:0.2^3*0.8*(0.8*0+0.2*1)+0.8*(0.8*1+0.2*0)
7.由於無論是加購物車仍是收藏,以後購買的機率都是很小的,因此,咱們最後求到的購買指數都不是反映實際購買率的,購買指數從大到小選擇前1%做爲咱們最後篩選的最終結果
ok,這就是個人所有思路,如今開始代碼階段