Regresie liniară cu componente principale
Obiectul newsData conține acum o variabilă suplimentară: logShares. Numărul de distribuiri îți arată de câte ori au fost partajate articolele de știri. Această distribuție ar fi însă puternic asimetrică, așa că vei lucra cu logaritmul numărului de distribuiri. Aplică ce ai învățat și prezice log shares!
Acest exercițiu face parte din cursul
Machine Learning pentru Analiză de Marketing în R
Instrucțiuni pentru exercițiu
- Calculează un model pentru a prezice log shares folosind toate celelalte variabile. Stochează-l ca
mod1. - Creează un nou dataframe
dataNewsComponentscu log shares și valorile primelor 6 componente. ObiectulpcaNewsconține din nou rezultatele PCA. - Calculează un al doilea model (
mod2) care prezice log shares folosind doar cele 6 componente. - Compară R pătrat ajustat al celor două modele. Cum s-a modificat valoarea prin utilizarea doar a componentelor principale? Cât de bun este modelul tău?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___)$___