開始使用免費開始

tidymodels 中的 PCA

從模型建置的角度來看,PCA 能讓你用更少的特徵來建立模型,但仍保留原始資料的大部分資訊。不過,如你所見,PCA 的缺點是模型較難解釋。在本練習中,你會以房屋銷售資料的子集來建立一個線性迴歸模型。目標變數是 price

直接用原始資料、未先提取主成分所建立的模型,其 RMSE 為 $236,461.4。你將使用 tidymodels 套用 PCA,並比較新的 RMSE。記住,RMSE 越低越好。

已為你載入 tidyversetidymodels 套件。

本練習屬於課程

R 的降維

檢視課程

練習說明

  • 使用 train 建立 PCA recipe,提取 5 個主成分。
  • 以預設的 linear_reg() 模型規格來擬合一個 workflow。
  • 使用 test 建立一個測試預測資料框,包含實際值與預測值。
  • 計算套用 PCA 降維後之線性迴歸模型的 RMSE。

動手互動練習

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

# Build a PCA recipe
pca_recipe <- ___(___ ~ ___ , data = ___) %>% 
  ___(___()) %>% 
  ___(___(), num_comp = ___) 

# Fit a workflow with a default linear_reg() model spec
house_sales_fit <- ___(preprocessor = ___, spec = ___()) %>% 
  ___(___)

# Create prediction df for the test set
house_sales_pred_df <- ___(___, test) %>% 
  ___(test %>% select(___))

# Calculate the RMSE
___(house_sales_pred_df, ___, .pred)
編輯並執行程式碼