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

Сравнение RMSE и среднеквадратичной относительной ошибки

В этом упражнении вы убедитесь, что логарифмическое преобразование денежного показателя перед обучением модели улучшает среднюю относительную ошибку (хотя и увеличивает RMSE) по сравнению с моделированием исходного показателя напрямую. Вы сравните результаты модели model.log из предыдущего упражнения с моделью (model.abs), которая предсказывает доход непосредственно.

Наборы данных income_train и income_test уже загружены, как и ваша модель model.log.

Также доступно:

  • model.abs: модель, которая напрямую предсказывает доход на основе входных признаков по формуле

    Income2005 ~ Arith + Word + Parag + Math + AFQT

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

Обучение с учителем в R: регрессия

Посмотреть курс

Инструкции к упражнению

  • Заполните пропуски, чтобы добавить предсказания обеих моделей в income_test.
    • Не забудьте взять экспоненту от предсказаний модели model.log, чтобы отменить логарифмическое преобразование!
  • Заполните пропуски, чтобы применить pivot_longer() к предсказаниям и вычислить остатки и относительную ошибку.
  • Заполните пропуски, чтобы рассчитать RMSE и относительную RMSE для предсказаний.
    • Какая модель даёт бо́льшую абсолютную ошибку? А бо́льшую относительную ошибку?

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# fmla.abs is available
fmla.abs

# model.abs is available
summary(model.abs)

# Add predictions to the test set
income_test <- income_test %>%
  mutate(pred.absmodel = ___(___, income_test),        # predictions from model.abs
         pred.logmodel = ___(___(___, income_test)))   # predictions from model.log

# pivot_longer the predictions and calculate residuals and relative error
income_long <- income_test %>% 
  pivot_longer(names_to = 'modeltype', values_to = 'pred', cols=c('pred.absmodel', 'pred.logmodel')) %>%
  mutate(residual = ___,   # residuals
         relerr   = ___)   # relative error

# Calculate RMSE and relative RMSE and compare
income_long %>% 
  group_by(modeltype) %>%      # group by modeltype
  summarize(rmse     = ___,    # RMSE
            rmse.rel = ___)    # Root mean squared relative error
Редактировать и запускать код