Membandingkan RMSE dan Root-Mean-Squared Relative Error
Dalam latihan ini, Anda akan menunjukkan bahwa melakukan transformasi log pada keluaran bernilai uang sebelum pemodelan memperbaiki rataan galat relatif (namun meningkatkan RMSE) dibandingkan dengan memodelkan keluaran uang secara langsung. Anda akan membandingkan hasil model.log dari latihan sebelumnya dengan sebuah model (model.abs) yang secara langsung memodelkan pendapatan.
Himpunan data income_train dan income_test telah dimuat sebelumnya, bersama dengan model Anda, model.log.
Juga tersedia:
model.abs: sebuah model yang secara langsung memodelkan pendapatan terhadap masukan menggunakan rumusIncome2005 ~ Arith + Word + Parag + Math + AFQT
Latihan ini adalah bagian dari kursus
Supervised Learning di R: Regresi
Petunjuk latihan
- Lengkapi bagian kosong untuk menambahkan prediksi dari model ke
income_test.- Jangan lupa untuk mengambil eksponen dari prediksi
model.loguntuk membatalkan transformasi log!
- Jangan lupa untuk mengambil eksponen dari prediksi
- Lengkapi bagian kosong untuk melakukan
pivot_longer()pada prediksi dan menghitung residual serta galat relatif. - Lengkapi bagian kosong untuk menghitung RMSE dan RMSE relatif untuk prediksi.
- Model mana yang memiliki galat absolut lebih besar? Galat relatif lebih besar?
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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