rpart只针对整数而不是因素吗?得到一棵没有深度的树

时间:2017-03-22 14:06:15

标签: r rpart

我在使用rpart在R中运行一个简单的决策树时遇到了一些问题。

由于机密性,我无法发布我的实际数据作为示例,但这是结构。我已经把一大堆的东西搞砸了,因为我今天已经拿到了锡纸帽。

data structure

我运行了最基本的模型来根据MIX_BEFORE和LIFESTAGE预测MIX,并且我没有得到一棵树。我已经尝试过使用rpart.control并指定minsplit,但没有区别。

first tree results

即使我添加了一些变量,我仍然没有得到一棵树: enter image description here

然而......第二个我删除因子变量并尝试使用整数构建树,它工作正常:

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的数据具有相当强的类失衡:99%一类,1%另一类。所以rpart只要说一切都是大多数类(这就是它正在做的事情)就可以达到99%的准确率。大多数变量都不能比这更好地区分,所以你得到的树没有像你用因子变量那样的分支。对于_NBR> = 7的少量点,你的_NBR变量恰好更具预测性。但即使你的模型使用_NBR预测几乎所有点都是多数类。您可以从This Cross Validated Post获得有关如何处理班级失衡的帮助。