O2O優惠券使用(轉 先記錄下來作為參考)

2021-08-25 17:10:58 字數 2185 閱讀 4519

正式開始做是從十月底開始的,我之前參加了新手賽,而這一次正式賽可以說是真正認真做的一次,中間和隊友一起學習了很多,也有小小的收穫,不管這次成績如何,以後還有機會。

賽題提供使用者在2023年1月1日至2023年6月30日之間真實線上線下消費行為,**使用者在2023年7月領取優惠券後15天以內的使用情況。 使用優惠券核銷**的平均auc(roc曲線下面積)作為評價標準。 即對每個優惠券coupon_id單獨計算核銷**的auc值,再對所有優惠券的auc值求平均作為最終的評價標準。 

當測試集中的正負樣本的分布變化的時候,roc曲線能夠保持不變。因為在實際的資料集中經常會出現類不平衡,所以次點也是auc指標的優勢。

提供資料的區間是2016-01-01~2016-06-30,**七月份使用者領券使用情況,即用或者不用,轉化為二分類問題,然後通過分類演算法**結果。首先就是特徵工程,其中涉及對資料集合的劃分,包括提取特徵的區間和訓練資料區間。接著就是從特徵區間中提取特徵,包括使用者特徵、商戶特徵、優惠券特徵、使用者商戶組合特徵、使用者優惠券組合特徵。後期在測試區間提取了當天的前後7/3/1天的領券資訊(這裡面後七天的特徵其實是不能應用於工業應用的,因為實際**中你無法知道後7/3/1天的領券資訊),提公升較大。最後使用gbdt、randomforest、lr進行基於rank的分類模型融合 集合

**區間

特徵區間

**集領券:20160701~20160731

領券&消費:20160101~20160630

訓練集領券:20160515~20160615

消費:20160515~20160630

領券:20160101~20160501

消費:20160101~20160515

可以劃分多個訓練集。

主要有五大特徵類:使用者特徵、商戶特徵、優惠券特徵、使用者商戶組合特徵、使用者優惠券組合特徵,賽題包括online和offline的資料,由於裡面只有部分使用者重合,商戶優惠券等並未有重合,個人臆測線上應該是**天貓的購買消費資料,有一定關聯,但關係微弱,因此只向其中提取了使用者特徵。而offline資料集就提取了所有五個特徵類。一下是各部分特徵:

最初使用rf、gbdt兩種模型,gbdt效果優於rf,後期使用了多個gbdt和xgboost,分別使用不同的引數、不同的正負樣本比例以rank的方式進行多模型的融合,效果有微小提公升,但是由於計算量的限制沒有進一步展開。

由於評估指標是計算每個coupon_id核銷**的auc值,然後所有優惠券的auc值平均作為最終的評估指標,而rank融合方式對auc之類的評估指標特別有效,所以採用此方法,公式為: 

∑i=1nweightiranki∑i=1nweightiranki

其中nn表示模型的個數, weightiweighti表示該模型權重,所有權重相同表示平均融合。rankiranki表示樣本在第i個模型中的公升序排名。它可以較快的利用排名融合多個模型之間的差異,而不需要加權融合概率。

基於引數,樣本(取樣率),特徵獲得多個模型,得到每個模型的概率值輸出,然後以coupon_id分組,把概率轉換為降序排名,這樣就獲得了每個模型的rankiranki,然後這裡我們使用的是平均融合,weighti=1/nweighti=1/n,這樣就獲得了最終的乙個值作為輸出。

雖然這次比賽每天有四次評測機會,但是構建線下評估在早期成績比較差的時候用處很大,早期新增特徵之後線下評估基本和線上的趨勢保持一致(例如在新增了label區間的領券特徵之後,線下提公升十多個百分點,線上也是一致),對於新特徵衡量還是有參照性的。後期差距在0.1%級別的時候,就沒有參照性了。

線下評估在訓練集中取樣1/3 or 1/4 or 1/5做線下評估集合,剩下的做為訓練集訓練模型,並將評估集合中全0或者全1的優惠券id去掉,然後使用訓練的模型對評估集合**,將**結果和實際標籤作異或取反(相同為1,不同為0),然後算出每個優惠券id的auc,最後將每個id的優惠券auc取均值就得到最終的auc。

這一次比賽學習了很多,包括分布式平台odps和機器學習平台實現資料清洗,特徵提取,特徵選擇,分類建模、調參及模型融合等,學習摸索了一套方法,使自己建立了信心,明白還有很多需要學習的地方,之前一直對於演算法都是當做乙個黑匣子,只會熟悉輸入輸出直接呼叫,要深入了解演算法,才能突破目前的瓶頸有所提高。 

同時我覺得大家一起**交流也很重要,乙個人做著做著就容易走偏,純屬個人看法。

授人以魚不如授人以漁:

天池o2o消費券比賽速記

比賽位址 包括了比賽的各種細節 資料等等 我是參考了第一名的方法 特徵 xgboost 第一名的 和思路參考 第一名給出了思路和 但是不夠詳細,有些細節也難以理解,在論壇上找到了一位參考第一名的思路但是實現更加完善的方案 重點劃分 演算法是通用的 主要難點就是在特徵工程,資料本身字段很少,能夠提取到...

社交O2O的進化

人們對以興趣為目的的社交有著強烈的需求,而移動終端的lbs功能使得o2o式興趣社交愈加便捷。未來o2o式的興趣社交應會成為乙個新的發展方向。以基於lbs功能的興趣社交為代表的社交2.0時代之所以來臨,一方面是使用者對o2o興趣社交的強烈需求 興趣很難改變,並且人們對分享興趣有很強的意願,同時興趣社交...

社交O2O的進化

人們對以興趣為目的的社交有著強烈的需求。而移動終端的lbs功能使得o2o式興趣社交愈加便捷。未來o2o式的興趣社交應會成為乙個新的發展方向。以基於lbs功能的興趣社交為代表的社交2.0時代之所以來臨,一方面是使用者對o2o興趣社交的強烈需求 興趣非常難改變。而且人們對分享興趣有非常強的意願,同一時候...