數據預處理之歸一化和標准化


對於數據的預處理分在思想上稱之為歸一化以及標准化(normalization)。

首先將歸一化/ 標准化,就是將數據縮放(映射)到一個范圍內,比如[0,1],[-1,1],還有在圖形處理中將顏色處理為[0,255];歸一化的好處就是不同緯度的數據在相近的取值范圍內,這樣在進行梯度下降這樣的算法的時候,曲線將會更加簡單(由原始的橢圓變成了圓形),如下圖所示:

至於縮放的原理就是量綱代表,比如身高和指甲寬度,如果統一都是厘米那么兩者不是一個數量級,如果把身高的量綱改為米,那么你會發現身高取值范圍和指甲寬度其實是相近的取值范圍,這樣避免了某個維度成為了影響學習結果的主導。

常見的歸一化/ 標准化

1. Standard Scala(z-score standardization):是標准化處理;將元素通過下面的公式進行處理:

x =(x - 𝜇)/𝜎

標准縮放只是是和數據近似服從正態分布的場景;而且數據的分布發生變化,變為相對標准的正態分布

2. MaxMinScala:其實這個是歸一化處理,MaxMinScaler並沒有改變數據分布,只是將按照某個規則進行縮放;處理公式如下:

x = (x-min)/(max-min)

適合於整體數據比較分布平和(集中),沒有離群數據,或者很少的離群數據,否則max的值的偏差將會導致計算不准確;而且MaxMinScala不穩定,如果有新加入的數據需要重新進行計算;

3. RobustScaler:是一種魯棒性特別好的算法;如果數據有很多異常值,那么使用該方法對數據進行處理;

4. 非線性化歸一:對於一些場景下數據分化非常大,那么可以使用log,指數以及反正切的方式對數據進行縮放;

log函數:x = lg(x)/lg(max);反正切函數:x = atan(x)*2/pi

 

總結:

1)在分類和聚類的算法中,牽涉到了距離的計算,那么,PCA降維計算的時候,Standard Scaler表現的比較好;

2)不涉及距離,協方差計算,數據不符合正態分布的場景下,可以使用MinMaxScaler來計算;

 

可以通過scipy庫中內容來做正態性檢驗;

什么是協方差?用來表明(X,Y)是否獨立的概念

 

 

 

參考:

https://www.cnblogs.com/bjwu/p/8977141.html

正態性檢驗實現

https://blog.csdn.net/QimaoRyan/article/details/72861387


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM