Regresión lineal con componentes principales
El objeto newsData ahora contiene una variable adicional: logShares. El número de compartidos indica cuántas veces se han compartido los artículos. Sin embargo, esta distribución sería muy asimétrica, así que vas a trabajar con el logaritmo del número de compartidos. ¡Aplica lo que acabas de aprender y predice los log shares!
Este ejercicio forma parte del curso
Machine Learning para analítica de marketing en R
Instrucciones del ejercicio
- Ajusta un modelo para predecir los log shares con todas las demás variables. Guárdalo como
mod1. - Crea un nuevo dataframe
dataNewsComponentscon los log shares y los valores en los primeros 6 componentes. El objetopcaNewsvuelve a contener los resultados del PCA. - Ajusta un segundo modelo (
mod2) que prediga los log shares solo con los 6 componentes. - Compara el R cuadrado ajustado de los modelos. ¿Cómo cambió el valor al usar solo los componentes principales? ¿Qué tal de bueno es tu modelo?
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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(___)$___