10.8 示例:垃圾邮件数据

在深入梯度提升的细节之前,本节先演示其在两个类别的分类问题中的效果。这里是在第一章便介绍过的垃圾邮件数据,其在第九章中作为很多方法的示例(第 9.1.2 节第 9.2.5 节第 9.3.1 节第 9.4.1 节)。

在与第 9.1.2 节中同样的测试集上,这个数据集训练出的梯度提升模型得出的测试误差率为 4.5%。与之对比,加性对数几率回归为 5.5%,完整构建然后通过交叉验证剪枝的 CART 树模型为 8.7%,多元自适应回归样条(MARS)为 5.5%。这些估计值的标准误差大约为 0.6%,不过根据麦克尼马尔(McNemar)检验,梯度提升方法显著地好于所有其他方法(练习 10.6)。

后面的第 10.13 节中介绍了每个自变量的相对重要性度量,以及描述一个自变量对拟合模型贡献的部分依赖图(partial dependence plot)。现用垃圾邮件数据进行演示。

**图 10.6**:垃圾邮件数据的自变量重要性谱图。变量名写在纵坐标上。
图 10.6:垃圾邮件数据的自变量重要性谱图。变量名写在纵坐标上。

图 10.6 展示了所有 57 个自变量的相对重要性谱图(relative importance specturm)。很明显在区分垃圾邮件与正常邮件时一些变量要比其他变量更重要。在估计结果中,字符 !$hpremove 的频率为四个相关性最高的自变量。而在谱图的另一端,字符 857415table3d 几乎没有相关性。

模型在这里拟合的数值是垃圾邮件对正常邮件的对数几率:

$$f(x) = \log \frac{\operatorname{Pr}(\text{spam}|x)} {\operatorname{Pr}(\text{email}|x)} \tag{10.24}$$

(见后面的第 10.13 节)。图 10.7 展示了几个选定的重要自变量与对数几率的部分依赖,其中两个(!remove)与垃圾邮件呈正向相关,而两个(eduhp)呈负向相关。这些特定的依赖曲线看起来基本上是单调的。这和加性对数几率回归模型得出的对应函数基本上是一致的;参考第 303 页的图 9.1

**图 10.7**:四个重要自变量与垃圾邮件对数几率的部分依赖。每个图下方红色的标记点为输入变量的十分位数。
图 10.7:四个重要自变量与垃圾邮件对数几率的部分依赖。每个图下方红色的标记点为输入变量的十分位数。

在这个数据样本上应用基于 $J=2$ 个终节点树模型的梯度提升模型,则得到了一个对数几率的纯加性(main effects[^1])模型,其对应的误差率为 4.7%,与之相比完整的梯度提升模型($J=5$ 个终节点树模型)的误差率为 4.5%。这个稍微提高的误差率,虽然并不那么显著,但也暗示了可能存在一些重要的自变量的交叉项。这可通过两个变量的部分依赖图来看出。图 10.8 展示了一些表现出了强交叉效应的依赖图中的一个。

**图 10.8**:垃圾邮件对正常邮件的对数几率,与字符 `hp` 和 `!` 联合分布频率的部分依赖函数。
图 10.8:垃圾邮件对正常邮件的对数几率,与字符 hp! 联合分布频率的部分依赖函数。

可见当 hp 的频率较低时,垃圾邮件的对数几率大幅增加。当 hp 的频率较高时,垃圾邮件的对数几率要低得多,并且对 ! 大致是一个常数函数。随着 hp 的频率下降,对数几率与 ! 的函数关系逐渐增强。


本节练习

练习 10.6

McNemar test (Agresti, 1996)

[^1]:译者理解这个 main effects 所指的是单独的一个自变量对结果的区分影响,即一个树桩模型。

上一页
下一页