網站行為欄位的標準化與歸一化方法

距離上次文章更新已經快3個月了,雖然專欄的讀者不多,可我真心為你們打 call,這麼無聊的專欄你們還沒有取消關注,也真是難為你們了。另外,本專欄非常歡迎大家拍磚,文中若有不清不楚的地方,請儘管問。

數據的標準化/歸一化是什麼

標準化/歸一化是機器學習中特徵工程最基礎的一項了,但它對模型的預測精準度卻有較大影響。該過程的目的是為了將源數據欄位量綱和範圍進行統一處理,使之符合我們接下來要使用模型的數據形式。

標準化是指把數據處理成相同分布的過程;狹義的歸一化是將數據處理成0~1分布的過程,但現在部分團隊為了方便也將標準化等同於廣義歸一化,不同團隊使用名稱可能不同,但不管怎樣這兩個過程目的都是一致的,所以在這篇文章中我將它們放在一起討論。

數據的標準化/歸一化要處理什麼問題

舉個很簡單的例子:

在網站行為分析中,如果我們要建立用戶的會話質量評估體系,用來衡量每個用戶帶來會話的質量,輔助會員營銷和改進廣告投放策略。該體系的主要衡量指標是以平均會話時長、貢獻總收入和加車率三個指標來建立模型,最後輸出的是會話質量評分。

考慮下你會怎麼處理這三個維度的數據?

當拿到數據,你很快就發現了時間、收入和比例這三個指標的量綱(單位)就不統一,再一看這三個指標數量級也並非完全相當。強行對比會導致什麼結果呢:

當我們評估不同用戶會話質量分並據此計算用戶之間相似程度(距離)時,發現在數學意義上收入這個欄位變化幅度太快了,收入每增加100塊錢對用戶間的距離衡量影響是100,但反觀會話平均時間的計算卻不那麼迅速,停留時長增加十幾秒已經算了不得了網站體驗了。這就會導致收入增長對用戶的評估影響巨大,而時間的增長就被迫忽略不計了,而事實上卻並非如此。所以聰明的你為每個影響因素設定權重 K 來規避以上問題,並建立回歸模型:

k_{1}x_{1}+k_{2}x_{2}+k_{2}x_{2}=y

看起來很美好,可是進一步地,你發現:收入和時間是個沒有上限的變數,而加車率確是個0~1之間的比率,所以當瀏覽時長增加10s往往很容易達到,而加車率上升10%卻需要付出巨大的努力。

所以數據標準化/歸一化 主要是搞定2個問題:

  • 量綱統一化
  • 數據變化範圍等價化

網站行為分析中標準化/歸一化的幾種方法

在網站分析行為中,經常會處理不同量綱不同分布的指標,以對流量評估體系為例,不同指標之間無法直接進行對比,為了更直觀的體現不同渠道帶來流量之間的差別。我們會建立一個多維評估雷達圖:

流量渠道5維度評估圖

針對不同的指標特性應該採取不同的標準化/歸一化的方法,才能達到較清晰的比較效果。

什麼是較清晰的比較效果:就是指欄位能夠在新的標尺(粒度)上能夠清楚的區分開來。

I. Min-Max標準化(Min-Max normalization)

Min-Max標準化(Min-Max normalization)

II. 小數定標標準化

小數定標標準化

III. Z-score標準化

Z-score

IV. 其他標準化處理公式

以上,希望對大家有幫助~


推薦閱讀:

快速提升網站分析工作效率的3個工具

TAG:网站分析 | 网站流量分析 | 机器学习 |