我们正在用连续输入和二进制输入建立决策树的模型。我们正在分析天气对自行车行为的影响。线性回归表明“雨”对自行车数量有很大的影响。我们的雨变量是二进制,表示每小时下雨的状态。
使用rpart创建决策树并不包括作为节点的“雨”,尽管我们期望它对自行车的数量有很大的决定性作用。这可能是由于雨变量的分类所致。Rpart似乎更喜欢使用连续变量(如温度)作为决策节点。
对于rpart如何决定是否使用连续变量或二进制变量作为决策节点,我们应该知道什么?有可能控制这种变量的选择吗?
library("rpart") fit <- rpart(bikecount ~ df.weather$temp+df.weather$weekday+df.weather$rain, data=training.data, method="class")
发布于 2019-05-16 12:42:39
函数rpart实现了Breiman,Friedman,Olshen和Stone (1984)的CART算法。也就是说,如果有两个或更多的变量对结果具有同样的预测作用,则最有可能选择具有最大唯一值的变量进行拆分。例如见Loh和Shih (1997年);Hothorn,Hornik & Zeileis (2006年)。
无偏递归划分方法分别选择1)分裂变量和2)分裂值,解决了这一变量选择偏差问题。无偏递归分区已经在R包partykit中实现。
如果上面提供的代码适用于函数rpart (因为我不清楚为什么formula中的预测变量包括$,而在指定了data参数时,响应变量不包含),那么您应该能够按如下方式拟合无偏分类树:
library("partykit")
ct <- ctree(bikecount ~ df.weather$temp + df.weather$weekday + df.weather$rain,
data=training.data)
plot(ct)参考文献
Breiman,L.,Friedman,J. H.,Olshen,R.A.,& Stone,C.J. (1994)。分类和回归树。沃兹沃思,蒙特利,加利福尼亚州。
霍尼克,K. & Zeileis,A. (2006)。无偏递归分区:一个条件推理框架。“计算和图形统计杂志”,15(3),651-674。
Loh,W.Y.,& Shih,Y.S. (1997)。分类树的分裂选择方法。中国统计资料7(4),815-840。
https://stackoverflow.com/questions/34092990
复制相似问题