以主成分進行線性迴歸
物件 newsData 現在多了一個變數:logShares。分享次數表示新聞文章被分享的頻率。不過此分佈會高度偏斜,因此你將改用分享次數的對數。套用你剛學到的做法來預測對數後的分享次數!
本練習屬於課程
R 的行銷分析機器學習
練習說明
- 建立一個模型,使用其他所有變數來預測對數分享次數,並將其儲存為
mod1。 - 建立新的資料框
dataNewsComponents,其中包含對數分享次數,以及前 6 個主成分的取值。物件pcaNews同樣包含 PCA 的結果。 - 建立第二個模型(
mod2),僅使用這 6 個主成分來預測對數分享次數。 - 比較兩個模型的調整後 R 平方。只使用主成分後,數值有何變化?你的模型表現如何?
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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(___)$___