R predict func type=“class”错误

jw5wzhpr  于 2023-06-19  发布在  其他
关注(0)|答案(2)|浏览(122)

我正在处理一个数据集,试图能够适合一个分类树,我分裂了数据集:

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)

然后我尝试使用predict函数:

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

但我一直收到一个错误:
predict.tree(tree_model,testing_data,type =“class”)中的错误:
类型“类”仅用于分类树
有人能告诉我什么是错的,我怎么能解决这个问题?

ryevplcw

ryevplcw1#

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

as.factor(x)

在分类整数值列表中。因此,在创建模型时用途:

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

ekqde3dh2#

或者你也可以使用“向量”,它将完美地工作。
如果你使用的是回归树,在调用predict()函数时,你应该使用type =“vector”而不是type =“class”。
希望对你有帮助…

相关问题