开始使用免费开始使用

比较 RMSE 与均方根相对误差

在本练习中,您将展示:在建模前对货币型输出做对数变换,与直接建模原始货币值相比,会降低平均相对误差(但会提高 RMSE)。您将把上一个练习得到的 model.log 与一个直接拟合收入的模型(model.abs)进行比较。

数据集 income_trainincome_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
编辑并运行代码