НачатьНачать бесплатно

Линейная регрессия на главных компонентах

Объект newsData теперь содержит дополнительную переменную: logShares. Количество публикаций показывает, как часто статьи распространялись пользователями. Однако это распределение сильно скошено, поэтому мы будем работать с логарифмом числа публикаций. Примените полученные знания и предскажите значения логарифма числа публикаций!

Это упражнение является частью курса

Машинное обучение для маркетинговой аналитики на 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(___)$___
Редактировать и запускать код