R预测func type =“class”错误

时间:2015-08-05 21:32:20

标签: r classification prediction predict

我正在使用数据集来尝试适合分类树 我拆分了数据集:

set.seed(2)
train=sample(1:nrow(mydata),nrow(mydata)/2)
test=-train
training_data=mydata[train,]
testing_data=mydata[test,]
testing_Donates=Donates[test]

在做完之后我做了一个树模型:

tree_model=tree(Donates~.,training_data)
plot(tree_model)
text(tree_model)

然后我尝试使用预测功能:

tree_pred<- predict(tree_model, testing_data, type="class")

但我一直收到错误:

  

predict.tree(tree_model,testing_data,type =“class”)出错:
      仅为分类树键入“class”

有人可以告诉我出了什么问题以及如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我今天刚遇到同样的问题,这篇文章就是我能找到的。原来R自动将整数视为区间变量,即使您有时可能希望将它们视为分类值。您可以使用

强制执行此操作
as.factor(x)

在分类整数值列表中。所以在创建模型时使用:

tree_model=tree(as.factor(Donates)~.,training_data)