天天看點

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

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

本文參考:

Gower (1985), Johnson and Wichern (1992), Everitt (1993), and van Tongeren (1995)

http://stats.stackexchange.com/questions/10289/whats-the-difference-between-normalization-and-standardization

https://www.biomedware.com/files/documentation/Preparing_data/Methods_for_data_standardization.htm

http://www.dataminingblog.com/standardization-vs-normalization/

http://www.360doc.com/content/14/0408/20/7673502_367328521.shtml

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

歸一化(Normalization)

資料的歸一化一般認為是:

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

這樣資料的範圍在[0,1]之間

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

标準化(Standardization)

資料的标準化一般認為是:

資料的歸一化(Normalization)、标準化(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為真表示資料标準化

繼續閱讀