始める無料で始める

tidymodels での PCA

モデリングの観点では、PCA を使うと特徴量の数を減らしつつ、元データの情報を大部分保ったモデルを作成できます。ただしご覧のとおり、PCA の欠点はモデルの解釈が難しくなることです。この演習では、住宅販売データのサブセットを用いて線形回帰モデルを構築します。目的変数は price です。

主成分を抽出せずにデータから直接構築したモデルの RMSE は $236,461.4 でした。ここでは tidymodels で PCA を適用し、新しい RMSE を比較します。RMSE は小さいほど良いことを覚えておきましょう。

tidyversetidymodels パッケージは読み込まれています。

この演習はコースの一部です

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)
コードを編集して実行