预测连续变量时应如何实施决策树拆分?


15

我实际上是在编写随机森林的实现,但我相信这个问题特定于决策树(独立于RF)。

因此,上下文是我正在决策树中创建一个节点,并且预测变量和目标变量都是连续的。该节点有一个分割阈值,可将数据划分为两个集合,我根据每个集合中的平均目标值为每个子集创建新的预测。这是正确的方法吗?

我问的原因是,在预测二进制变量时,我相信典型的方法(正确吗?)是将数据分为0和1个子集,而不需要对每个子集的数据行取平均值。随后的分割将被划分为更细粒度的子集,并在每个分割处取平均值,结果后续的分割(决策树下方)将根据现在的连续变量而不是二进制变量进行操作(因为我们对残差值而不是原始值进行运算)目标)。

附带的问题:两种方法(二进制方法与连续方法)之间的区别是否显着-还是对于完整的决策树它们实际上会给出相同的结果?


1
拆分连续变量将确保使生成的“模型”无法正确拟合数据。如果您有一个连续的X和一个连续的Y,请考虑使用黄土非参数平滑器。
弗兰克·哈雷尔

我现在正在处理的问题有很多预测变量(连续变量和二进制变量的混合)和单个目标变量。因此,我认为RF是一种合理的方法。
redcalx

2
很可能是这样。但是随机森林是树木的混合体(它不是决策树),因此它通过进行多次拆分(实际上是使用收缩)来近似连续关系。因此,如果我理解您的原始问题,我认为它不适用。
Frank Harrell'1

我很想说,你的持续情况的描述是正确的(即做事的标准方法),但随后你的二元变量情况说明不匹配与我如何随机森林的认识(或决定树木)工作,所以我担心我们当中的一个人感到困惑。
joran 2012年

@joran。是的,通过强制将预测设为0或1,您将失去对预测(在0和1之间)进行微调的能力,从而可以降低误差(例如均方误差)。因此,我怀疑这种方法是次等的。我尝试过,大多数构建决策树的尝试都没有找到甚至可以改善错误的单个拆分。
redcalx 2012年

Answers:


10

树木的一个潜在问题是,它们的尾部往往不太适合。想一想捕获训练范围较低范围的终端节点。它将使用那些训练设定点的平均值进行预测,这将始终低估结果(因为它是平均值)。

您可以尝试模型树[1]。这些将适合终端节点中的线性模型,并且(我认为)比回归树做得更好。更好的是,使用一种称为Cubist的更加进化的版本,该版本结合了不同的方法(下面的[1]和[2])。

这些模型还分别处理连续和离散预测变量。他们可以对分类变量进行多向拆分。拆分标准与CART树非常相似。

在RWeka软件包(称为“ M5P”)的R中可以找到模型树,而Cubist在Cubist软件包中可以找到。当然,您也可以使用Weka,Cubist在RuleQuest网站上提供了C版本。

[1] Quinlan,J.(1992)。通过连续课堂学习。第五届澳大利亚人工智能联合会议论文集,343–348。

[2] Quinlan,J.(1993)。结合基于实例的学习和基于模型的学习。第十届机器学习国际会议论文集,236–243。


1
您难道不是只有更深的树木才能最大程度地减少尾部的贴合度?
杰瑟
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.