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

在本练习中,您将自行计算模型预测的残差(预测值减去真实值)。
本练习是课程的一部分
R 中使用 sparklyr 的 Spark 入门
练习说明
已预先定义本地 tibble responses,其中包含预测年份和真实年份。
- 绘制预测值与真实值的散点图。
- 调用
ggplot()。 - 第一个参数为数据集
responses。 - 第二个参数是在
aes()中传入未加引号的列名作为 x、y 轴(分别为actual与predicted)。 - 通过添加对
geom_point()的调用来添加点。 - 通过设置
alpha = 0.1让点半透明。 - 添加参考线:调用
geom_abline(),并设置intercept = 0、slope = 1。
- 调用
- 创建名为
residuals的残差 tibble。- 对
responses调用transmute()。 - 新列命名为
residual。 residual等于预测值减去真实值。
- 对
- 绘制残差的密度图。
- 将 transmute 得到的 tibble 管道传给
ggplot()。 ggplot()只需一个美学映射,在aes()中传入residual。- 调用
geom_density()添加概率密度曲线。 - 调用
geom_vline()并设置xintercept = 0,添加一条穿过 0 的竖直参考线。
- 将 transmute 得到的 tibble 管道传给
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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
___