7種不同的數據標準化(歸一化)方法總結
來源:DeepHub IMBA
數據的歸一化是數據預處理中重要的的一步,很多種方法都可以被稱作數據的歸一化,例如簡單的去除小數位,而更高級歸一化技術才能對我們訓練有所幫助,例如 z-score 歸一化。
所以本文總結了 7 種常見的數據標準化(歸一化)的方法。
Decimal place normalization
Data type normalization
Formatting normalization (date abbreviations, date order, & deliminators)
Z-Score normalization
Linear normalization (“Max-Min”)
Clipping normalization
Standard Deviation Normalization
Decimal place normalization,小數位歸一化
小數位歸一化發生在具有數字類型的數據表中。如果你使用過 Excel,你就會知道這是如何發生的。默認情況下,Excel 會保留小數點后兩位數字,也可以設定小數的位數,并在整個表格中進行統一。
另一種常見是對數據類型的歸一化。在 Excel 或 SQL 查詢數據庫中構建數據表時,可能會發現自己查看的數字數據有時被識別為貨幣,有時被識別為文本,有時被識別為數字,有時被識別為逗號分割的字符串。
問題是這些數值數據對公式和各種分析處理的操作是不一樣的。所以就需要將它們統一成相同的類型。
最后一個簡單的技術是格式的歸一化。這對于字符串(文本)是很常見的,并且在印刷和打印上出現的更多。雖然這些問題不會對分析產生影響,但是他可能會分散我們的注意力和現實的效果,例如斜體、粗體或下劃線或者字體與其他的文字顯示不一樣。
當我們的數據在多個維度上存在顯著的大小差的數值時怎么辦?例如,如果一個維度的值從 10 到 100,而另一個維度的值從 100 到 100,000,則很難比較兩者的相對變化。
對于這個問題,目前最好的解決方案就是歸一化。在日常工作中,最常見的歸一化類型是 Z-Score 。簡單來說,Z-Score 將數據按比例縮放,使之落入一個特定區間。公式如下:
其中 X 是數據值,μ 是數據集的平均值,σ 是標準差。
線性歸一化可以說是更容易且更靈活的歸一化技術。 它通常被稱為“max-min”歸一化,它允許分析人員獲取集合中最大 x 值和最小 x 值之間的差值,并建立一個基數。
這是一個很好的開始策略,實際上,線性歸一化可以將數據點歸一化為任何基數。下是線性歸一化的公式:
假設“x”值為 20,最大數字為 55,最小數字為 5。為了歸一化這個數字,讓我們從分母開始,結果為50 (55-5) 。現在用同樣的想法計算分子:x - min=15 (20–5)。所以我們標準化的 x 或 x ' 是 15/50 = 0.3。
裁剪并不完全是一種歸一化技術,他其實是在使用歸一化技術之前或之后使用的一個操作。簡而言之,裁剪包括為數據集建立最大值和最小值,并將異常值重新限定為這個新的最大值或最小值。
例如有一個由數字 [14, 12, 19, 11, 15, 17, 18, 95] 組成的數據集。數字 95 是一個很大的異常值。我們可以通過重新分配新的最大值將其從數據中剔除。由于刪除95后,數據集的范圍是 11-19,因此可以將最大值重新分配為 19。最小值也同理
需要注意的是,裁剪不會從數據集中刪除點,它只是重新計算數據中的統計值。
假設我們的數據有五行 ,他們的ID 為 A、B、C、D 和 E,每行包含 n 個不同的變量(列)。我們在下面的計算中使用記錄 E 作為示例。其余行以相同方式進行標準化。
第 i 列中 E 行的 ei 的歸一化值計算如下:
當
如果E行的所有值都是相同的,那么E的標準差(std(E))等于0,那么E行的所有值都設為0。
1、涉及或隱含距離計算的算法,比如K-means、KNN、PCA、SVM等,一般需要進行歸一化
2、梯度下降算法,梯度下降的收斂速度取決于:參數的初始位置到local minima的距離,以及學習率η的大小,其實還是距離的計算。
3、采用sigmoid等有飽和區的激活函數,如果輸入分布范圍很廣,參數初始化時沒有適配好,很容易直接陷入飽和區,導致梯度消失,所以才會出現各種BN,LN等算法。
與距離計算無關的概率模型不需要,比如Naive Bayes;
與距離計算無關的基于樹的模型,比如決策樹、隨機森林等,樹中節點的選擇只關注當前特征在哪里切分對分類更好,即只在意特征內部的相對大小,而與特征間的相對大小無關。但是我們前幾篇文章中說到了,使用Z-Score歸一化會提高模型的準確率。其實歸一化的作用就是由絕對變為了相對,所以可以說歸一化對于樹型模型不那么重要,是一個可選項或者說可以作為一個超參數在訓練時進行選擇。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。