Regressione lineare con componenti principali
L'oggetto newsData ora contiene una variabile aggiuntiva: logShares. Il numero di condivisioni indica quante volte sono stati condivisi gli articoli. Questa distribuzione, però, sarebbe fortemente asimmetrica, quindi lavorerai con il logaritmo del numero di condivisioni. Metti in pratica ciò che hai appena imparato e predici i log shares!
Questo esercizio fa parte del corso
Machine Learning per il Marketing Analytics in R
Istruzioni dell'esercizio
- Stima un modello per prevedere i log shares con tutte le altre variabili. Salvalo come
mod1. - Crea un nuovo dataframe
dataNewsComponentscon i log shares e i valori sulle prime 6 componenti. L'oggettopcaNewscontiene di nuovo i risultati della PCA. - Stima un secondo modello (
mod2) che predice i log shares usando solo le 6 componenti. - Confronta l'R quadrato aggiustato dei modelli. Come cambia il valore usando solo le componenti principali? Quanto è buono il tuo modello?
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(___)$___