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