rpart函数是overplotting或未实现所需的分区

时间:2017-07-22 02:49:51

标签: r machine-learning rstudio

  ID Ethnicity MaritalStatus EmploymentStatus type
1 10         5             3                1    3
2 24         1             2                2    1
3 30         1             1                3    4
4 35         2             2                2    3
5 40         5             1                3    4
6 57         1             2                4    1

这是我的样本数据。该表有近94000行。 我尝试了以下命令

m1 <- rpart(type ~ Ethnicity, MaritalStatus, EmploymentStatus, 
      data = table2, method = "anova")

我的目标是根据种族,婚姻状况和资格状况来预测“类型”。 使用as.factor()将所有变量转换为因子数据类型 但是分区是通过ID进行的,而我希望分区是Ethnicity,然后是MaritalStatusEmploymentStatus。我尝试从数据框中删除ID列,但存在同样的问题 我附上了我得到的结果的图像以及相应的rpart.plot result
我的数据类型或数据的任何基本方法是错误的吗? 我是机器学习的初学者。我还尝试将ID的数据类型更改为数字。
有没有办法为分区设置层次结构?
为什么图形只是一条线?

overplotted rpart plot

1 个答案:

答案 0 :(得分:1)

您的公式中存在错误。预测变量应以+分隔,而不是,。在您的通话中,除了第一个预测变量(种族)之外的所有变量都会被忽略。

m1 <- rpart(type ~ Ethnicity + MaritalStatus + EmploymentStatus, 
      data = table2, method = "anova")