1. 程式人生 > >資料的歸一化(Normalization)、標準化(Standardization)

資料的歸一化(Normalization)、標準化(Standardization)

資料的標準化、中心化、歸一化以及R語言中的scale

本文參考:
Gower (1985), Johnson and Wichern (1992), Everitt (1993), and van Tongeren (1995)

在進行資料處理是經常會遇到兩組或多組資料不對等的情況,比如一組資料均值為12,另一組資料為均值為320,這時候如果希望比較這兩組資料就需要對資料進行處理。至於歸一化、標準化、中心化需要根據實際問題進行處理。

歸一化(Normalization)

資料的歸一化一般認為是:
這裡寫圖片描述
這樣資料的範圍在[0,1]之間

有時候我們需要針對不同的問題進行不同的歸一化,比如在處理基因晶片資料時為了讓每個晶片的資料在同一個範圍內可以根據均值和中位數進行標準化。

標準化(Standardization)

資料的標準化一般認為是:
標準化
這樣資料的均值為0,標準差為1,也成為z-score
標準化資料可以使用R語言的scale函式

data <- c(1, 2, 3, 6, 3)

scale(data, center=T,scale=F)
[,1]
[1,] -2
[2,] -1
[3,] 0
[4,] 3
[5,] 0
attr(,”scaled:center”)
[1] 3
資料標準化
scale(data, center=T,scale=T)
[,1]
[1,] -1.06904
[2,] -0.53452
[3,] 0.00000
[4,] 1.60357
[5,] 0.00000
attr(,”scaled:center”)
[1] 3
attr(,”scaled:scale”)
[1] 1.8708

scale方法中的兩個引數center和scale的解釋:
1.center和scale預設為真,即T或者TRUE
2.center為真表示資料中心化(只減去均值不做其他處理)
3.scale為真表示資料標準化