當前位置:
首頁 > 新聞 > 阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

導語:在2月份舉辦的網頁搜索與數據挖掘會議WSDM上,阿里巴巴獲得了WSDM Cup 2018的第二名。本文對獲獎論文進行了技術解讀。

預測方法

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

1.介紹

KKBOX 是亞洲一家音樂流媒體公司,其業務模式與 Spotify 和 Apple Music 類似。對於音樂流媒體業務來說,付費會員非常重要,不僅直接影響訂閱收入,還會間接影響廣告收入。

本次比賽的目標是利用 KKBOX真實的用戶行為數據,預測會員是否會流失。比賽中我們面臨了很多挑戰,如正負樣本不均衡、臟數據等問題。我們採取了一些列措施來解決這些問題,比如建立數據清洗和交叉驗證機制,使用Stacking Model 來提升準確率。

2.問題定義

本次比賽的目標是預測當月會員到期的用戶中哪些會流失。這裡「流失」的定義是會員到期後30天內沒有續費。

本次比賽的結果採用 Log Loss 進行評估,Log Loss 的計算公式如下:

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

公式中,N 表示測試樣本數,

表示測試樣本最終是否流失(1表示流失,0表示沒有流失),

為模型預測用戶是否會流失的概率(取值0-1)。

3.方法

考慮到模型的數據量和開發效率,我們採用了阿里雲的 DataWorks 作為開發平台。

3.1 數據預處理

比賽提供了三份數據,分別是用戶的訂單明細、聽歌日誌和人口統計學信息。見下表:

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

臟數據問題例如年齡數值小於0或者大於100,註冊時間和支付金額中的極端異常值。我們處理臟數據的方式包括根據分布將異常值轉換為合理取值,刪除無法解釋且不包含重要信息的數據。

訓練樣本中,is_churn 是樣本的 label,訓練樣本取自2017年2月和3月訂閱到期的用戶。訓練數據的正負樣本極不均衡,以2月份訂閱到期的訓練樣本為例,在總共992931條數據中,is_churn = 1的樣本只有63471,佔比6.4%。

傳統的分類演算法比如決策樹和邏輯回歸都是對正負樣本比例有要求。我們使用欠採樣的方式對訓練樣本進行了處理,分別嘗試了1:3,1:5,1:8的正負樣本配比,在最終模型中,我們根據交叉驗證的結果選擇了最優配比。

3.2 特徵工程

特徵工程階段,我們從計算邏輯、時間窗、額外條件三個維度將數據進行組合。如下圖,右邊特徵列表中 last_7_auto_tran_cnt 表示最近7天(時間窗)自動完成的(額外條件)訂單筆數(計算邏輯)。特徵組合完成後,我們對特徵還要一系列的處理,如 log 轉換、one-hot 編碼。

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

我們通過交叉驗證來測試特徵的有效性。在交叉驗證中我們發現,最有效的特徵包括:1. 最近60或90天自動完成的訂單筆數 2. 最近一筆交易是否被取消或自動完成 3. 賬號註冊的方式。最終,我們提取了300多個特徵,並根據交叉驗證的結果留下了204個特徵。

3.3 模型

我們使用了一個兩階段模型來預測最終的流失情況。如下圖,在第一階段,提取出的特徵會輸入邏輯回歸、隨機森林、XGBoost 三個模型,而第一階段模型的輸出會被當做第二階段的特徵,最終組成一個 Stacking Model。

如下圖,我們採用了5-fold stacking 策略。

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

在第一階段,將訓練數據均勻地分成5份,使用「留一法」訓練5個邏輯回歸模型,用這5個模型分別去預測剩下的一份訓練數據和測試數據,將5份預測的訓練數據合併,可以得到一份新的訓練數據 NewTrainingData,將5份預測的測試數據採用均值法合併,得到一份新的測試數據 NewTestData。用同樣的方法再分別訓練隨機森林和 XGBoost,新的訓練和測試數據上,就可以得到3個模型的分數。

第二階段,將上一階段的 NewTraningData 作為訓練數據,NewTestData 作為測試數據,重新訓練一個 XGBoost 模型,得到最終的預測分數。這種方法可以避免過擬合,學習出特徵之間組合的信息,還能提高預測的準確率。

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

3.4 模型評估

交叉驗證不僅可以做特徵篩選,在模型階段,還給調參、Stacking Model 策略的調整提供依據。下圖可以看到我們每一步的優化帶來的提升,最初的 LR 模型可以得到0.2106的分數,XGBoost 和特徵提取技術可以把分數提升到0.1151,最終 Stacking Model 和調參讓我們得到0.0934的分數。

阿里巴巴論文:一種基於 Stacking 集成模型的 KKBOX 用戶流失

4.結論

本文我們介紹了在參加 WSDM Cup 2018 中所做的實踐,最終我們獲得了第二名的成績。對幾個關鍵的優化技術在文中做了闡述,如數據預處理階段的欠採樣、特徵提取方式、Stacking Model。通過分析和測試,我們發現這些方法都可以提升預測的準確率,後續我們還將測試更多的超參數,並引入深度學習進行優化。

論文原文地址:

https://wsdm-cup-2018.kkbox.events/pdf/7_A_Practical_Pipeline_with_Stacking_Models_for_KKBOXs_Churn_Prediction_Challenge.pdf

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

簡易指南帶你啟動 R 語言學習之旅
5年「野蠻生長」之後,從谷歌挖來首席創新官的依圖在籌劃什麼?

TAG:機器之心 |