Лінійна регресія з головними компонентами
Об'єкт newsData тепер містить додаткову змінну: logShares. Кількість поширень показує, як часто новинні статті ділилися. Однак цей розподіл буде значно зміщеним, тож ви працюватимете з логарифмом кількості поширень. Застосуйте щойно вивчене та спрогнозуйте логарифм поширень!
Ця вправа є частиною курсу
Machine Learning для маркетингової аналітики в R
Інструкції до вправи
- Обчисліть модель для прогнозування логарифма поширень за всіма іншими змінними. Збережіть її як
mod1. - Створіть новий датафрейм
dataNewsComponentsіз логарифмом поширень і значеннями на перших 6 компонентах. Об'єктpcaNewsзнову містить результати PCA. - Обчисліть другу модель (
mod2), яка прогнозує логарифм поширень лише за 6 компонентами. - Порівняйте скоригований R-квадрат моделей. Як змінилося значення, якщо використовувати тільки головні компоненти? Наскільки добра ваша модель?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(___)$___