开始使用免费开始使用

梯度提升树:可视化

现在您已经得到了模型的预测,接下来就会想:"效果如何?" 评估预测准确性有许多可视化方法;本题将带您查看两种常见图形。首先,绘制预测值与真实值的散点图,直观比较两者。其次,残差通常应接近正态分布,因此绘制残差的密度图也很有用。图形大致如下所示。

Scatterplot of predicted response vs. actual response and density plot of distribution of residuals side by side.

在本练习中,您将自行计算模型预测的残差(预测值减去真实值)。

本练习是课程的一部分

R 中使用 sparklyr 的 Spark 入门

查看课程

练习说明

已预先定义本地 tibble responses,其中包含预测年份和真实年份。

  • 绘制预测值与真实值的散点图。
    • 调用 ggplot()
    • 第一个参数为数据集 responses
    • 第二个参数是在 aes() 中传入未加引号的列名作为 x、y 轴(分别为 actualpredicted)。
    • 通过添加对 geom_point() 的调用来添加点。
    • 通过设置 alpha = 0.1 让点半透明。
    • 添加参考线:调用 geom_abline(),并设置 intercept = 0slope = 1
  • 创建名为 residuals 的残差 tibble。
    • responses 调用 transmute()
    • 新列命名为 residual
    • residual 等于预测值减去真实值。
  • 绘制残差的密度图。
    • 将 transmute 得到的 tibble 管道传给 ggplot()
    • ggplot() 只需一个美学映射,在 aes() 中传入 residual
    • 调用 geom_density() 添加概率密度曲线。
    • 调用 geom_vline() 并设置 xintercept = 0,添加一条穿过 0 的竖直参考线。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# responses has been pre-defined
responses

# Draw a scatterplot of predicted vs. actual
ggplot(___, aes(___, ___)) +
  # Add the points
  ___ +
  # Add a line at actual = predicted
  ___

residuals <- responses %>%
  # Transmute response data to residuals
  ___

# Draw a density plot of residuals
ggplot(___, aes(___)) +
    # Add a density curve
    ___ +
    # Add a vertical line through zero
    ___
编辑并运行代码