主成分を用いた線形回帰
オブジェクト newsData には新しい変数 logShares が追加されています。シェア数は記事がどれだけ共有されたかを表しますが、生の分布は大きく歪んでいるため、ここではシェア数の対数を使って作業します。学んだ内容を適用して、対数シェア数を予測してみましょう。
この演習はコースの一部です
Rで学ぶマーケティングアナリティクスのための機械学習
演習の手順
- すべての他の変数を用いて対数シェア数を予測するモデルを作成し、
mod1として保存します。 - 対数シェア数と、第1〜第6主成分の値を含む新しいデータフレーム
dataNewsComponentsを作成します。オブジェクトpcaNewsには PCA の結果が入っています。 - 6つの主成分だけで対数シェア数を予測する2つ目のモデル(
mod2)を作成します。 - 調整済み決定係数(adjusted R squared)を比較しましょう。主成分のみを使うと値はどう変化しましたか?モデルの良さはどう評価できますか?
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Predict log shares with all original variables
mod1 <- lm(logShares ~ ., data = ___)
# Create dataframe with log shares and first 6 components
dataNewsComponents <- cbind(logShares = newsData[, "logShares"],
___$x[, 1:__]) %>%
as.data.frame()
# Predict log shares with first six components
mod2 <- lm(___ ~ ., data = ___)
# Print adjusted R squared for both models
___(mod1)$adj.r.squared
summary(___)$___