CommencerCommencez gratuitement

Régression linéaire avec composantes principales

L'objet newsData contient maintenant une variable supplémentaire : logShares. Le nombre de partages indique combien de fois les articles ont été partagés. Cependant, cette distribution est fortement asymétrique ; vous allez donc travailler avec le logarithme du nombre de partages. Mettez en pratique ce que vous venez d'apprendre et prédisez le logarithme des partages !

Cet exercice fait partie du cours

<cours>Machine Learning for Marketing Analytics in R</cours>
Voir le cours

Instructions de l’exercice

  • Estimez un modèle pour prédire le logarithme des partages avec toutes les autres variables. Stockez-le sous mod1.
  • Créez un nouveau dataframe dataNewsComponents avec le logarithme des partages et les valeurs sur les 6 premières composantes. L'objet pcaNews contient, à nouveau, les résultats de l'ACP.
  • Calculez un second modèle (mod2) qui prédit le logarithme des partages en utilisant uniquement les 6 composantes.
  • Comparez le R deux ajusté des modèles. Comment la valeur change-t-elle en n'utilisant que les composantes principales ? Votre modèle est-il performant ?

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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(___)$___
Modifier et exécuter le code