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>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
dataNewsComponentsavec le logarithme des partages et les valeurs sur les 6 premières composantes. L'objetpcaNewscontient, à 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(___)$___