1. 程式人生 > >R語言學習(七)——資料規範化

R語言學習(七)——資料規範化

由於取值範圍大的變數會在測算距離時被賦予較大的權重,降低取值範圍小的資料對結果的影響,所以要對原始變數進行規範化處理。

讀取資料: 圖片 或者將Excel檔案儲存為csv(逗號分隔)型檔案,然後用read函式讀取: 圖片 但這種方法可能造成資料缺失或錯誤

標準化

統一期望和方差 (1)caret包中:preProcess(x, …) 圖片 (2)R內建scale()函式 例: 圖片

最大、最小值規範化

x=(xminx)(maxxminx){\rm{x}} = \frac{{(x - {{\min }_x})}}{{({{\max }_x} - {{\min }_x})}}

)(xminx) (1) 圖片 (2) 圖片

xij=2xijmin(xkj)max(xij)min(xij)1{{\rm{x}}_{ij}} = 2\frac{{{x_{ij}} - \min ({x_{kj}})}}{{\max ({x_{ij}}) - \min ({x_{ij}})}} - 1 圖片

Box-cox變換

判斷樣本是否有偏

樣本如果是近似對稱,偏度大致為0,右偏資料偏度為正,左偏的偏度為負。

樣本偏度: skewness=E[xμδ]3skewness = E{[\frac{{x - \mu }}{\delta }]^3}

圖片 或者利用e1071包中skewness函式: library(e1071) apply(Loan,2,skewness,na,rm=T)

存在明顯的右偏分佈特徵,使用box-cox變換: x~=logx,λ=0\tilde x = \log x,\lambda = 0 x~=xλ1λ,λ0\tilde x = \frac{{{x^\lambda } - 1}}{\lambda },\lambda \ne 0

對annual這一列資料規範化,觀察直方圖,變換後的更對稱: 圖片

對Loan中每一列資料做box-cox變換: 圖片

或者 圖片