1、資料的中心化
所謂資料的中心化是指資料集中的各項資料減去資料集的均值。
例如有資料集1, 2, 3, 6, 3,其均值為3
那麼中心化之後的資料集為1-3,2-3,3-3,6-3,3-3,即:-2,-1,0,3,0
2、資料的標準化
所謂資料的標準化是指中心化之後的資料在除以資料集的標準差,即資料集中的各項資料減去資料集的均值再除以資料集的標準差。
例如有資料集1, 2, 3, 6, 3,其均值為3,其標準差為1.87
那麼標準化之後的資料集為(1-3)/1.87,(2-3)/1.87,(3-3)/1.87,(6-3)/1.87,(3-3)/1.87,即:-1.069,-0.535,0,1.604,0
資料中心化和標準化的意義是一樣的,為了消除量綱對資料結構的影響。
在R語言中可以使用scale方法來對資料進行中心化和標準化:
#限定輸出小數點後數字的位數為3位
> options(digits=3)
> 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.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為真表示資料標準化