天天看點

【大資料】資料标準化

z-score 标準化(zero-mean normalization)

最常見的标準化方法就是Z标準化,也是SPSS中最為常用的标準化方法,spss預設的标準化方法就是z-score标準化。

也叫标準差标準化,這種方法給予原始資料的均值(mean)和标準差(standard deviation)進行資料的标準化。

經過處理的資料符合标準正态分布,即均值為0,标準差為1,其轉化函數為:

x∗=x−μσ

其中μ為所有樣本資料的均值,σ為所有樣本資料的标準差。

z-score标準化方法适用于屬性A的最大值和最小值未知的情況,或有超出取值範圍的離群資料的情況。

标準化的公式很簡單,步驟如下

  1.求出各變量(名額)的算術平均值(數學期望)xi和标準差si ;

  2.進行标準化處理:

  zij=(xij-xi)/si

  其中:zij為标準化後的變量值;xij為實際變量值。

  3.将逆名額前的正負号對調。

  标準化後的變量值圍繞0上下波動,大于0說明高于平均水準,小于0說明低于平均水準。

def z_score(x, axis):
    x = np.array(x).astype(float)
    xr = np.rollaxis(x, axis=axis)
    xr -= np.mean(x, axis=axis)
    xr /= np.std(x, axis=axis)
    # print(x)
    return x      

為什麼z-score 标準化後的資料标準差為1?