tidymodels での PCA
モデリングの観点では、PCA を使うと特徴量の数を減らしつつ、元データの情報を大部分保ったモデルを作成できます。ただしご覧のとおり、PCA の欠点はモデルの解釈が難しくなることです。この演習では、住宅販売データのサブセットを用いて線形回帰モデルを構築します。目的変数は price です。
主成分を抽出せずにデータから直接構築したモデルの RMSE は $236,461.4 でした。ここでは tidymodels で PCA を適用し、新しい RMSE を比較します。RMSE は小さいほど良いことを覚えておきましょう。
tidyverse と tidymodels パッケージは読み込まれています。
この演習はコースの一部です
Rによる次元削減
演習の手順
trainを使って 5 つの主成分を抽出する PCA レシピを作成します。- 既定の
linear_reg()モデル仕様でワークフローを当てはめます。 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)