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
,然后是MaritalStatus
和EmploymentStatus
。我尝试从数据框中删除ID
列,但存在同样的问题
我附上了我得到的结果的图像以及相应的rpart.plot 。
我的数据类型或数据的任何基本方法是错误的吗?
我是机器学习的初学者。我还尝试将ID
的数据类型更改为数字。
有没有办法为分区设置层次结构?
为什么图形只是一条线?
答案 0 :(得分:1)
您的公式中存在错误。预测变量应以+
分隔,而不是,
。在您的通话中,除了第一个预测变量(种族)之外的所有变量都会被忽略。
m1 <- rpart(type ~ Ethnicity + MaritalStatus + EmploymentStatus,
data = table2, method = "anova")