開始使用免費開始

實務議題:標準化(縮放)

你在影片中看到,在進行 PCA 之前先對資料做標準化(縮放),會改變 PCA 建模的結果。這裡你會分別在有縮放與無縮放的情況下執行 PCA,然後用雙變量圖(biplot)視覺化結果。

當各變數的變異數差異很大時,進行縮放通常是合適的。常見情況是變數有不同的度量單位,例如華氏度(溫度)與英里(距離)。是否要使用縮放是進行主成分分析時的一個重要決策。

本練習屬於課程

R 的無監督式學習

檢視課程

練習說明

相同的 Pokemon 資料集已載入到你的工作空間,名稱為 pokemon,但多了一個新變數:Total

  • 編輯器最上方有一段程式碼,用來計算模型中各變數的平均數與標準差。先執行這段程式碼,觀察原始資料中各變數的尺度差異。
  • 建立一個對 pokemon 進行縮放的 PCA 模型,並將結果指定給 pr.with.scaling
  • 建立一個對 pokemon 不進行縮放的 PCA 模型,並將結果指定給 pr.without.scaling
  • 使用 biplot() 分別(一次一個)繪製這兩個模型,並比較它們的輸出。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Mean of each variable
colMeans(pokemon)

# Standard deviation of each variable
apply(pokemon, 2, sd)

# PCA model with scaling: pr.with.scaling


# PCA model without scaling: pr.without.scaling


# Create biplots of both for comparison

編輯並執行程式碼