Zacznij terazZacznij za darmo

Porównanie RMSE i pierwiastka średniego kwadratowego błędu względnego

W tym ćwiczeniu pokażesz, że zastosowanie transformacji logarytmicznej do zmiennej pieniężnej przed modelowaniem poprawia średni błąd względny (ale zwiększa RMSE) w porównaniu z bezpośrednim modelowaniem tej zmiennej. Porównasz wyniki modelu model.log z poprzedniego ćwiczenia z modelem (model.abs), który dopasowuje dochód bezpośrednio.

Zbiory danych income_train i income_test zostały wstępnie wczytane wraz z twoim modelem model.log.

Dostępny jest również:

  • model.abs: model, który bezpośrednio dopasowuje dochód do zmiennych wejściowych przy użyciu formuły

    Income2005 ~ Arith + Word + Parag + Math + AFQT

To ćwiczenie jest częścią kursu

Nadzorowane uczenie maszynowe w R: regresja

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij luki, aby dodać przewidywania z modeli do zbioru income_test.
    • Pamiętaj, żeby zastosować funkcję wykładniczą do przewidywań z modelu model.log, aby cofnąć transformację logarytmiczną!
  • Uzupełnij luki, aby użyć pivot_longer() na przewidywaniach i obliczyć reszty oraz błąd względny.
  • Uzupełnij luki, aby obliczyć RMSE i względne RMSE dla przewidywań.
    • Który model ma większy błąd bezwzględny? Który ma większy błąd względny?

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod