Сравнение 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