當前位置:
首頁 > 最新 > SPA大賽:關於數據處理和特徵工程的一些分享

SPA大賽:關於數據處理和特徵工程的一些分享

更多騰訊海量技術文章,請關注云加社區:https://cloud.tencent.com/developer

作者:方舒

大家好,筆者是「南七技師」隊,作為一支全部由萌新組成的隊伍,一路走來雖步履維艱但卻收貨頗豐。同時也非常感謝騰訊公司舉辦這次社交廣告高校演算法大賽,為筆者提供了良好的學習途徑與機會。

下面主要分享筆者在比賽過程中的心得體會:

1. 數據探索以及數據預處理

剛拿到數據,筆者就對其進行了一些探索性的分析,包括對數據變數之間的聯繫和數據分布情況的統計,並對其進行了可視化。進行可視化之後,就可以對原始數據有進一步的了解,然後進行數據的些清洗工作,包括對缺失值的處理以及對離群點的去除等。

2. 特徵工程

筆者在特徵公共步驟進行了幾次嘗試如下:

1) 選用前7天的數據作為訓練集、後7天的數據作為測試集,結果發現效果並沒有使用全部的數據集效果好。

原因分析:數據量減小。

2) 選用所有天的上午、下午數據作為訓練集,來分別預測上午、下午的結果。

原因分析:數據量減小。

3) 把所有的數據都轉化合成了一張表,並且把低維度的特徵進行了One-hot處理,將這些特徵全部加入到了模型中進行訓練,成績並不是特別理想。

原因分析:只是單純的加入所有的特徵,並未選擇有效特徵。

經過幾次嘗試之後,筆者著手於對數據作統計分析,對於一個特徵是否真的有意義是需要看特徵的分布比例,在正負樣本中所佔的比例越大就表明該特徵的對正負樣本的區分度較好。同時,筆者還進行對特徵的組合,計算出其中的轉化率。然而,特徵之間必然是會有重複的,這將會導致過擬合的現象出現,給模型造成不必要的干擾,筆者解決這種問題的方法就是逐一測試特徵是否有效。

3. 技巧

在實驗過程中,通過分析原始數據背後的真實意義,以及觀察提交結果的反饋,總結了一些有用的技巧,如下:

1) 筆者對轉化迴流時間做了一些小處理。因為迴流時間是從用戶點擊到廣告系統得知用戶激活App,而且轉化數據是由廣告主提供的,就可以計算出廣告主上報到廣告系統這期間的時間,這個特徵也提升了有萬分之五。

2) 嘗試了position*connectionType,效果也有提升。

3) 通過觀察數據發現,可以發現存在很多重複點擊的數據,同一個廣告被連續多次點擊後轉化只在最後一次點擊上,由這個筆者構造出的特徵一下子讓筆者的成績提升了千分之三。

4. 總結

由於筆者團隊是個新手團隊,沒有參賽經歷,因此開始比賽的時候第一步就是了解數據,各個欄位的含義聯繫等等。然而過了這段時間,筆者就埋頭進入了所謂的「業務」分析的方向,再也沒有仔細看過數據,不斷地更換模型更換參數構造各種的特徵,然而取得的效果卻並不和消耗的時間成正比。後經提醒,筆者將目光轉移回了初始數據,這才有所斬獲。這可能是新手往往會經常犯的錯誤吧,以後的比賽過程中還是要多多花點時間在數據上面。

最後祝大家取得好成績!


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

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


請您繼續閱讀更多來自 雲加社區 的精彩文章:

「暗黑流量」超大規模DDoS溯源分析

TAG:雲加社區 |