始める無料で始める

nearZeroVar() の代替として PCA を使う

低分散の説明変数を削除する代わりに、データセットに PCA を適用する方法があります。これはデータを丸ごと捨てないため、好ましい場合があります。複数の低分散の説明変数が 1 つの高分散な PCA 変数に統合され、モデルの精度に良い影響を与えることがあるからです。

特に線形モデルではこの方法が有効です。preProcesspca オプションは、データのセンタリングとスケーリングを行い、低分散の変数を統合し、すべての説明変数を直交にします。これにより線形回帰モデルに最適なデータセットが作られ、しばしばモデルの精度が向上します。

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

Rで学ぶ caret を使った Machine Learning

コースを見る

演習の手順

bloodbrain_xbloodbrain_y はワークスペースに読み込まれています。

  • preProcess"pca" オプションを指定して、blood-brain の全データセットに glm モデルを当ててください。
  • コンソールにモデルを出力して結果を確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Fit glm model using PCA: model
model <- train(
  x = ___, 
  y = ___,
  method = ___, 
  preProcess = ___
)

# Print model to console
コードを編集して実行