R中的决策树,具有二进制和连续输入

时间:2015-12-04 16:31:16

标签: r machine-learning decision-tree rpart

我们使用连续和二进制输入对决策树进行建模。我们正在分析天气对骑行行为的影响。线性回归表明“下雨”对自行车数量有很大影响。我们的雨变量是二进制,显示每小时的降雨状况。

使用rpart创建决策树并不包含“rain”作为节点,尽管我们希望它对自行车的数量具有决定性作用。这可能是由于雨变量的分类。 Rpart似乎更喜欢为决策节点使用连续变量(如温度)。

关于rpart如何确定是使用连续变量还是二进制变量作为决策节点,我们应该知道什么?是否可以控制这些变量的选择?

library("rpart") fit <- rpart(bikecount ~ df.weather$temp+df.weather$weekday+df.weather$rain, data=training.data, method="class")

1 个答案:

答案 0 :(得分:0)

函数rpart实现了Breiman,Friedman,Olshen和Stone(1984)的CART算法,该算法已知会受到偏向变量选择的困扰。也就是说,假设有两个或两个以上可以同等预测结果的变量,则最有可能选择具有唯一值最大数量的变量进行拆分。参见例如Loh and Shih(1997); Hothorn,Hornik和Zeileis(2006)。

无偏递归分区方法将选择1)拆分变量和2)拆分值分开,从而解决了该变量选择偏差。 R partykit 中实现了无偏见的递归分区。

如果您上面提供的代码适用于函数rpart(因为我不清楚为什么formula中的预测变量包含$,则响应变量不包含{ {1}}参数已指定),您应该能够使无偏分类树如下所示:

data

参考

p.Breiman,L.,Friedman,J.H.,Olshen,R.A。,和Stone,C.J。(1994)。分类和回归树。加利福尼亚蒙特雷,沃兹沃思。

Hothorn,T.,Hornik,K.和Zeileis,A.(2006)。无偏递归分区:一个条件推断框架。计算与图形统计杂志,15(3),651-674。

Loh,W. Y.和Shih,Y. S.(1997)。分类树的拆分选择方法。统计学报7(4),815-840。