Kom igångKom igång gratis

Linjär regression med principalkomponenter

Objektet newsData innehåller nu en extra variabel: logShares. Antalet delningar anger hur många gånger nyhetsartiklarna har delats. Den fördelningen är dock kraftigt skev, så du kommer att arbeta med logaritmen av antalet delningar. Tillämpa det du just lärt dig och förutsäg log-delningarna!

Den här övningen är en del av kursen

Maskininlärning för marknadsanalys i R

Visa kurs

Övningsinstruktioner

  • Beräkna en modell för att förutsäga log-delningarna med alla övriga variabler. Spara den som mod1.
  • Skapa en ny dataram dataNewsComponents med log-delningarna och värdena för de första 6 komponenterna. Objektet pcaNews innehåller PCA-resultaten.
  • Beräkna en andra modell (mod2) som förutsäger log-delningarna med enbart de 6 komponenterna.
  • Jämför det justerade R² för modellerna. Hur förändrades värdet när du bara använde principalkomponenterna? Hur bra är din modell?

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(___)$___
Redigera och kör kod