nearZeroVar() の代替として PCA を使う
低分散の説明変数を削除する代わりに、データセットに PCA を適用する方法があります。これはデータを丸ごと捨てないため、好ましい場合があります。複数の低分散の説明変数が 1 つの高分散な PCA 変数に統合され、モデルの精度に良い影響を与えることがあるからです。
特に線形モデルではこの方法が有効です。preProcess の pca オプションは、データのセンタリングとスケーリングを行い、低分散の変数を統合し、すべての説明変数を直交にします。これにより線形回帰モデルに最適なデータセットが作られ、しばしばモデルの精度が向上します。
この演習はコースの一部です
Rで学ぶ caret を使った Machine Learning
演習の手順
bloodbrain_x と bloodbrain_y はワークスペースに読み込まれています。
preProcessに"pca"オプションを指定して、blood-brain の全データセットにglmモデルを当ててください。- コンソールにモデルを出力して結果を確認しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit glm model using PCA: model
model <- train(
x = ___,
y = ___,
method = ___,
preProcess = ___
)
# Print model to console