tidymodels 中的 PCA
從模型建置的角度來看,PCA 能讓你用更少的特徵來建立模型,但仍保留原始資料的大部分資訊。不過,如你所見,PCA 的缺點是模型較難解釋。在本練習中,你會以房屋銷售資料的子集來建立一個線性迴歸模型。目標變數是 price。
直接用原始資料、未先提取主成分所建立的模型,其 RMSE 為 $236,461.4。你將使用 tidymodels 套用 PCA,並比較新的 RMSE。記住,RMSE 越低越好。
已為你載入 tidyverse 與 tidymodels 套件。
本練習屬於課程
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)