r rpart 只适用于整数而不适用于因子?得到一棵没有深度的树

r rpart only working for integers and not factors? getting a tree with no depth

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

由于保密原因,我无法 post 作为示例使用我的实际数据,但这是结构。我已经删掉了很多位只是因为我今天戴上了我的锡纸帽子。

我有 运行 基于 MIX_BEFORE 和 LIFESTAGE 预测 MIX 的最基本模型,但我没有从它的末尾得到一棵树。我试过使用 rpart.control 并指定 minsplit,这没有区别。

即使我添加了更多的变量,我仍然没有得到一棵树:

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

有什么想法吗?

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