博客專欄

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

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

        發布人:數據派THU 時間:2022-04-17 來源:工程師 發布文章

        來源:DeepHub IMBA

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


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


        圖片


        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,小數位歸一化


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


        Data type normalization,數據類型歸一化


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


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


        Formatting normalization,格式的歸一化


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


        Z-Score normalization


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


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


        圖片


        其中 X 是數據值,μ 是數據集的平均值,σ 是標準差。


        Linear normalization (“Max-Min”)


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


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


        圖片


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


        Clipping normalization,剪裁歸一化


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


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


        需要注意的是,裁剪不會從數據集中刪除點,它只是重新計算數據中的統計值。


        Standard Deviation Normalization,標準差歸一化


        假設我們的數據有五行 ,他們的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歸一化會提高模型的準確率。其實歸一化的作用就是由絕對變為了相對,所以可以說歸一化對于樹型模型不那么重要,是一個可選項或者說可以作為一個超參數在訓練時進行選擇。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仙游县| 高阳县| 阿拉尔市| 东丽区| 剑阁县| 南江县| 额敏县| 霍林郭勒市| 西盟| 东源县| 瑞昌市| 邳州市| 清水河县| 淳化县| 浏阳市| 金华市| 米脂县| 桐梓县| 慈溪市| 惠州市| 甘德县| 常山县| 清镇市| 页游| 南平市| 阆中市| 永仁县| 玛沁县| 塘沽区| 大化| 宝坻区| 寿阳县| 石林| 天峻县| 昂仁县| 白玉县| 濮阳市| 宁化县| 房山区| 岳阳县| 章丘市|