Aan de slagGa gratis aan de slag

Lineaire regressie met principale componenten

Het object newsData bevat nu een extra variabele: logShares. Het aantal shares geeft aan hoe vaak de nieuwsartikelen zijn gedeeld. Deze verdeling is echter sterk scheef, dus je werkt met de logaritme van het aantal shares. Pas toe wat je net hebt geleerd en voorspel de log-shares!

Deze oefening maakt deel uit van de cursus

Machine Learning for Marketing Analytics in R

Cursus bekijken

Oefeninstructies

  • Schat een model om de log-shares te voorspellen met alle andere variabelen. Sla dit op als mod1.
  • Maak een nieuw dataframe dataNewsComponents met de log-shares en de waarden op de eerste 6 componenten. Het object pcaNews bevat opnieuw de PCA-resultaten.
  • Schat een tweede model (mod2) dat de log-shares voorspelt met alleen de 6 componenten.
  • Vergelijk de adjusted R squared van de modellen. Hoe veranderde de waarde door alleen de principale componenten te gebruiken? Hoe goed is je model?

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(___)$___
Code bewerken en uitvoeren