數據歸歸一化方法(標準化)

 數據標準化(歸一化)處理是數據挖掘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,爲了消除指標之間的量綱影響,需要進行數據標準化處理,以解決數據指標之間的可比性。原始數據經過數據標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。歸一化化就是要把你需要處理的數據經過處理後(通過某種算法)限制在你需要的一定範圍內。首先歸一化是爲了後面數據處理的方便,其次是保正程序運行時收斂加快。

一、 標準化
     標準化方法是對原始數據進行線性變換。設minA和maxA分別爲屬性A的最小值和最大值,將A的一個原始值x通過 標準化映射成在區間[0,1]中的值 ,其公式爲:
                         新數據=(原數據-極小值)/(極大值-極小值)

也稱爲離差標準化,是對原始數據的線性變換,使結果值映射到[0 - 1]之間。轉換函數如下:

                                               

 

其中max爲樣本數據的最大值,min爲樣本數據的最小值。這種方法有個缺陷就是當有新數據加入時,可能導致max和min的變化,需要重新定義。

 

 二、z-score 標準化

    這種方法基於原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化。將A的原始值x使用z-score標準化到x'。
    z-score標準化方法適用於屬性A的最大值和最小值未知的情況,或有超出取值範圍的離羣數據的情況。
                           新數據=(原數據-均值)/標準差
這種方法給予原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化。經過處理的數據符合標準正態分佈,即均值爲0,標準差爲1,轉化函數爲:
                                                         
其中 u爲所有樣本數據的均值, *所有樣本數據的標準差。

    例如:spss默認的標準化方法就是z-score標準化。
    用Excel進行z-score標準化的方法:在Excel中沒有現成的函數,需要自己分步計算,其實標準化的公式很簡單。
步驟如下:
    1.求出各變量(指標)的算術平均值(數學期望)xi和標準差si ;
    2.進行標準化處理:
      zij=(xij-xi)/si
      其中:zij爲標準化後的變量值;xij爲實際變量值。
    3.將逆指標前的正負號對調。
    標準化後的變量值圍繞0上下波動,大於0說明高於平均水平,小於0說明低於平均水平。
三、Decimal scaling小數定標標準化
   這種方法通過移動數據的小數點位置來進行標準化。小數點移動多少位取決於屬性A的取值中的最大絕對值。將屬性A的原始值x使用decimal scaling標準化到x'的計算方法是:
                                   x'=x/(10*j)

    其中,j是滿足條件的最小整數。

 

    例如 假定A的值由-986到917,A的最大絕對值爲986,爲使用小數定標標準化,我們用1000(即,j=3)除以每個值,這樣,-986被規範化爲-0.986。
    注意,標準化會對原始數據做出改變,因此需要保存所使用的標準化方法的參數,以便對後續的數據進行統一的標準化。
四、對數Logistic模式
         新數據=1/(1+e^(-原數據))
         對數函數轉換,表達式如下:
  y=log10(x)
  說明:以10爲底的對數函數轉換。
五、模糊量化模式
      新數據=1/2+1/2sin[3.1415/(極大值-極小值)*(X-(極大值-極小值)/2) ]       X爲原數據
   反餘切函數轉換,表達式如下:
  y=atan(x)*2/PI

如果想要將數據映射到[-1,1],則將公式換成:

x* = x* * 2 -1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章