Regresja liniowa ze składowymi głównymi
Obiekt newsData zawiera teraz dodatkową zmienną: logShares. Liczba udostępnień mówi ci, jak często artykuły były udostępniane. Rozkład tej zmiennej jest jednak silnie skośny, dlatego będziemy pracować z logarytmem liczby udostępnień. Wykorzystaj to, czego się właśnie nauczyłeś, i przewidź wartość logarytmu udostępnień!
To ćwiczenie jest częścią kursu
Uczenie maszynowe w analizie marketingowej w R
Instrukcje do ćwiczenia
- Zbuduj model przewidujący logarytm udostępnień na podstawie wszystkich pozostałych zmiennych. Zapisz go jako
mod1. - Utwórz nową ramkę danych
dataNewsComponentszawierającą logarytm udostępnień oraz wartości na pierwszych 6 składowych. ObiektpcaNewszawiera wyniki PCA. - Zbuduj drugi model (
mod2) przewidujący logarytm udostępnień wyłącznie na podstawie 6 składowych. - Porównaj skorygowane R-kwadrat obu modeli. Jak zmieniła się ta wartość po zastosowaniu samych składowych głównych? Jak dobry jest twój model?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(___)$___