R预测函数类型="class"错误

R predict func type="class" error

我正在处理数据集以尝试能够拟合分类树 我拆分了数据集:

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")

但我一直收到错误消息:

Error in predict.tree(tree_model, testing_data, type = "class") :
type "class" only for classification trees

谁能告诉我哪里出了问题,我该如何解决?

我今天遇到了同样的问题,我能找到的就是这个 post。事实证明,R 会自动将整数视为区间变量,即使您有时可能希望将它们视为分类值。您可以使用

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

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

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