博客專欄

EEPW首頁 > 博客 > 7種不同的數(shù)據(jù)標準化(歸一化)方法總結

7種不同的數(shù)據(jù)標準化(歸一化)方法總結

發(fā)布人:數(shù)據(jù)派THU 時間:2022-04-17 來源:工程師 發(fā)布文章

來源:DeepHub IMBA

數(shù)據(jù)的歸一化是數(shù)據(jù)預處理中重要的的一步,很多種方法都可以被稱作數(shù)據(jù)的歸一化,例如簡單的去除小數(shù)位,而更高級歸一化技術才能對我們訓練有所幫助,例如 z-score 歸一化。


所以本文總結了 7 種常見的數(shù)據(jù)標準化(歸一化)的方法。


圖片


  1. Decimal place normalization

  2. Data type normalization

  3. Formatting normalization (date abbreviations, date order, & deliminators)

  4. Z-Score normalization

  5. Linear normalization (“Max-Min”)

  6. Clipping normalization

  7. Standard Deviation Normalization


Decimal place normalization,小數(shù)位歸一化


小數(shù)位歸一化發(fā)生在具有數(shù)字類型的數(shù)據(jù)表中。如果你使用過 Excel,你就會知道這是如何發(fā)生的。默認情況下,Excel 會保留小數(shù)點后兩位數(shù)字,也可以設定小數(shù)的位數(shù),并在整個表格中進行統(tǒng)一。


Data type normalization,數(shù)據(jù)類型歸一化


另一種常見是對數(shù)據(jù)類型的歸一化。在 Excel 或 SQL 查詢數(shù)據(jù)庫中構建數(shù)據(jù)表時,可能會發(fā)現(xiàn)自己查看的數(shù)字數(shù)據(jù)有時被識別為貨幣,有時被識別為文本,有時被識別為數(shù)字,有時被識別為逗號分割的字符串。


問題是這些數(shù)值數(shù)據(jù)對公式和各種分析處理的操作是不一樣的。所以就需要將它們統(tǒng)一成相同的類型。


Formatting normalization,格式的歸一化


最后一個簡單的技術是格式的歸一化。這對于字符串(文本)是很常見的,并且在印刷和打印上出現(xiàn)的更多。雖然這些問題不會對分析產(chǎn)生影響,但是他可能會分散我們的注意力和現(xiàn)實的效果,例如斜體、粗體或下劃線或者字體與其他的文字顯示不一樣。


Z-Score normalization


當我們的數(shù)據(jù)在多個維度上存在顯著的大小差的數(shù)值時怎么辦?例如,如果一個維度的值從 10 到 100,而另一個維度的值從 100 到 100,000,則很難比較兩者的相對變化。


對于這個問題,目前最好的解決方案就是歸一化。在日常工作中,最常見的歸一化類型是 Z-Score 。簡單來說,Z-Score 將數(shù)據(jù)按比例縮放,使之落入一個特定區(qū)間。公式如下:


圖片


其中 X 是數(shù)據(jù)值,μ 是數(shù)據(jù)集的平均值,σ 是標準差。


Linear normalization (“Max-Min”)


線性歸一化可以說是更容易且更靈活的歸一化技術。 它通常被稱為“max-min”歸一化,它允許分析人員獲取集合中最大 x 值和最小 x 值之間的差值,并建立一個基數(shù)。


這是一個很好的開始策略,實際上,線性歸一化可以將數(shù)據(jù)點歸一化為任何基數(shù)。下是線性歸一化的公式:


圖片


假設“x”值為 20,最大數(shù)字為 55,最小數(shù)字為 5。為了歸一化這個數(shù)字,讓我們從分母開始,結果為50 (55-5) ?,F(xiàn)在用同樣的想法計算分子:x - min=15 (20–5)。所以我們標準化的 x 或 x ' 是 15/50 = 0.3。


Clipping normalization,剪裁歸一化


裁剪并不完全是一種歸一化技術,他其實是在使用歸一化技術之前或之后使用的一個操作。簡而言之,裁剪包括為數(shù)據(jù)集建立最大值和最小值,并將異常值重新限定為這個新的最大值或最小值。


例如有一個由數(shù)字 [14, 12, 19, 11, 15, 17, 18, 95] 組成的數(shù)據(jù)集。數(shù)字 95 是一個很大的異常值。我們可以通過重新分配新的最大值將其從數(shù)據(jù)中剔除。由于刪除95后,數(shù)據(jù)集的范圍是 11-19,因此可以將最大值重新分配為 19。最小值也同理


需要注意的是,裁剪不會從數(shù)據(jù)集中刪除點,它只是重新計算數(shù)據(jù)中的統(tǒng)計值。


Standard Deviation Normalization,標準差歸一化


假設我們的數(shù)據(jù)有五行 ,他們的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、梯度下降算法,梯度下降的收斂速度取決于:參數(shù)的初始位置到local minima的距離,以及學習率η的大小,其實還是距離的計算。

3、采用sigmoid等有飽和區(qū)的激活函數(shù),如果輸入分布范圍很廣,參數(shù)初始化時沒有適配好,很容易直接陷入飽和區(qū),導致梯度消失,所以才會出現(xiàn)各種BN,LN等算法。


哪些算法不需要歸一化


與距離計算無關的概率模型不需要,比如Naive Bayes;


與距離計算無關的基于樹的模型,比如決策樹、隨機森林等,樹中節(jié)點的選擇只關注當前特征在哪里切分對分類更好,即只在意特征內(nèi)部的相對大小,而與特征間的相對大小無關。但是我們前幾篇文章中說到了,使用Z-Score歸一化會提高模型的準確率。其實歸一化的作用就是由絕對變?yōu)榱讼鄬?,所以可以說歸一化對于樹型模型不那么重要,是一個可選項或者說可以作為一個超參數(shù)在訓練時進行選擇。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區(qū)

關閉