决策树和回归-预测值是否超出训练数据范围?


11

对于决策树,预测值是否可以超出训练数据的范围?

例如,如果目标变量的训练数据集范围是0-100,那么当我生成模型并将其应用于其他对象时,我的值可以为-5吗?还是150?

鉴于我对决策树回归的理解是,它仍然是基于规则的-左/右进展,并且在训练集中的树的底部,它永远不会看到超出特定范围的值,因此它将永远无法预测吗?


1
有关梯度增强树的类似问题,请参见stats.stackexchange.com/questions/304962/…–
Adrian

Answers:


10

您是完全正确的:经典决策树无法预测历史观察范围之外的值。他们不会推断。

随机森林也是如此。

从理论上讲,您有时会看到有关更复杂的体系结构(植物学?)的讨论,其中树的叶子不给出单个值,而是包含简单的回归,例如,将因变量回归到特定的数值自变量。在树中导航会给您一个规则集,该规则集确定在哪种情况下将DV回归的数字IV。在这种情况下,可以外推这种“最低水平”回归以产生尚未观察到的值。

但是,我不认为标准的机器学习库会提供这种更为复杂的结构(我最近通过R的CRAN Task Views寻找了这种结构),尽管实际上它应该没有什么复杂的。您也许可以实现自己的包含叶子中回归的树。


1
我很少阅读有关mobForest的信息,它确实支持R中的叶子回归,stats.stackexchange.com
questions / 48475 /

1
@SorenHavelundWelling:听起来确实很有趣。感谢您的指导!
Stephan Kolassa '16

1
在树的叶子中提供线性回归模型的最早算法之一是Quinlan M5,其近似值可在Weka的M5P()中使用(通过RWeka在R中进行接口)。Loh首先提出了一种针对该问题的无偏算法,称为GUIDE。他的独立软件包的二进制文件在他的网站上。最后,我们的基于模型(MOB)的递归分区算法包含各种此类模型。它在R包partykit中可用:mob()是通用工具,而lmtree()和glmtree()是其对叶子中具有(广义)线性模型的树的适应性。
Achim Zeileis '16

2
@SorenHavelundWelling:不幸的是,mobForest软件包已从CRAN中删除。我要看看partykit包装阿希姆Zeileis建议
Stephan Kolassa

1
请注意,mobForest重新回到了CRAN:cran.r-project.org/web/packages/mobForest/index.html
恢复莫妮卡

6

另外,请检查插入符号包装中的立体主义者。它在终端节点中建立线性回归,并可以在训练数据中的响应值范围之上和之下推断预测。终端节点也可以根据作为超参数提供的最近邻居进行平均,因此有可能提供极其准确的交叉验证预测。

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.