博客專欄

EEPW首頁(yè) > 博客 > 7種不同的數(shù)據(jù)標(biāo)準(zhǔn)化(歸一化)方法總結(jié)

7種不同的數(shù)據(jù)標(biāo)準(zhǔn)化(歸一化)方法總結(jié)

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

來(lái)源:DeepHub IMBA

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


所以本文總結(jié)了 7 種常見(jiàn)的數(shù)據(jù)標(biāo)準(zhǔn)化(歸一化)的方法。


圖片


  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ù)表中。如果你使用過(guò) Excel,你就會(huì)知道這是如何發(fā)生的。默認(rèn)情況下,Excel 會(huì)保留小數(shù)點(diǎn)后兩位數(shù)字,也可以設(shè)定小數(shù)的位數(shù),并在整個(gè)表格中進(jìn)行統(tǒng)一。


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


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


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


Formatting normalization,格式的歸一化


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


Z-Score normalization


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


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


圖片


其中 X 是數(shù)據(jù)值,μ 是數(shù)據(jù)集的平均值,σ 是標(biāo)準(zhǔn)差。


Linear normalization (“Max-Min”)


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


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


圖片


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


Clipping normalization,剪裁歸一化


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


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


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


Standard Deviation Normalization,標(biāo)準(zhǔn)差歸一化


假設(shè)我們的數(shù)據(jù)有五行 ,他們的ID 為 A、B、C、D 和 E,每行包含 n 個(gè)不同的變量(列)。我們?cè)谙旅娴挠?jì)算中使用記錄 E 作為示例。其余行以相同方式進(jìn)行標(biāo)準(zhǔn)化。


第 i 列中 E 行的 ei 的歸一化值計(jì)算如下:


圖片


當(dāng)


圖片

圖片


如果E行的所有值都是相同的,那么E的標(biāo)準(zhǔn)差(std(E))等于0,那么E行的所有值都設(shè)為0。


哪些算法需要?dú)w一化


1、涉及或隱含距離計(jì)算的算法,比如K-means、KNN、PCA、SVM等,一般需要進(jìn)行歸一化

2、梯度下降算法,梯度下降的收斂速度取決于:參數(shù)的初始位置到local minima的距離,以及學(xué)習(xí)率η的大小,其實(shí)還是距離的計(jì)算。

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


哪些算法不需要?dú)w一化


與距離計(jì)算無(wú)關(guān)的概率模型不需要,比如Naive Bayes;


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

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



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉