在整洁数据的上下文中,一个引导样本(行),一个引导样本(行)和变量(列)。据我所知,它们总是成排引导。
以下是 Hadley Wickham [ 1 , 2]最初提出的“整洁”规则:
- 每个变量形成一列。
- 每个观察形成一行。
- 每种类型的观测单元形成一个表格。
所以问题变成了“在列上引导的优势是什么”。
它为您提供了引导程序始终提供的功能,但适用于列空间:
- 强大的表征。当一列很重要并被排除时,错误会更大,反之亦然。这可以增加对更高重要性变量赋予更高权重的强调,并且鉴于树权重与误差成反比,这可以减少不太重要变量的影响。
- 加速计算:当你在更少的数据上运行时,在其他条件不变的情况下,你的算法运行得更快。如果你让每棵树都有 75% 的列,那么它们的构建速度会更快。
更新:
经典的 CART 模型查看超矩形的沿边缘,以找到域的二元分割最能提高优度度量的位置。这是树桩。然后它对域的每个子地块重复该过程,直到满足停止条件。CART 模型是弱学习器。
在随机森林(CART 模型的并行集合)中,人们试图聚合弱学习者来克服他们的偏见。因为“集成”需要多个元素,所以集成可以脱离经典的 CART 并在行和列空间中执行诸如引导之类的操作。通过按列引导,我们只查看轴的子集进行拆分。通过逐行引导,我们在评估分割指标时查看点的子集。
该方法的价值取决于数据。里程变化,一如既往。
我听说有一些显着的计算加速可以被发现,但它们只有在将整个列视为单个实体时才有效。我在考虑基尼重要性或基于方差的树。您可以计算整体和子集的分数,然后在 O(1) 中获得另一个子集的分数。如果您在行(样本)上引导但仅在列(变量)上引导,这将不起作用。
因此,权衡是每棵树对行重新采样一次,并且在每次拆分时对列进行重新采样。这允许每棵树的计算速度更快,每次拆分的速度更快,并允许在两者上进行引导。