R 树包中的预测函数

R 树包中的预测函数,r,R,我在R中有分类树,我通过以下方式尝试交叉验证: cv.tree1<-cv.tree(tree1) 然后,我尝试从当前树预测我的所有标签: predict(tree3, data.train[1,]) 输出为: 0 1 2 3 4 5 6 7 8 1 0.0006247397 0.8531862 0.03706789

我在R中有分类树,我通过以下方式尝试交叉验证:

cv.tree1<-cv.tree(tree1)
然后,我尝试从当前树预测我的所有标签:

predict(tree3, data.train[1,])
输出为:

            0         1          2          3           4           5           6          7          8
1 0.0006247397 0.8531862 0.03706789 0.02207414 0.003123698 0.008746356 0.009371095 0.00728863 0.05310287
            9
1 0.005414411
据我所知,它给出了每个标签的概率,因为这里有10个标签,0:9 所以我试图得到所有标签预测的最后一个语句的最大值

predict.list <-matrix(0,nrow=nrow(data.train),ncol=10)
for (index in c(1:nrow(digits.train)))
{
  predict.list[index]<-predict(tree3, data.train[index,])
}
所以问题是,我得到每一个的最大值是正确的吗?这样我就得到了预测,我如何得到相应标签的最大值

我可以用最快的速度

max(predict(tree3, digits.train[1,]))
但是我无法获得相应的标签,
predict.tree()
函数有一个名为
type
的参数。它的默认值是
“vector”
,在分类树的情况下,它将返回一个包含每个观察行的类概率的向量。您可以将其更改为
“class”
,它只返回概率最高的类。在您的情况下,使用


predict.list谢谢它能工作,但我尝试了循环来获取所有预测并将其保存在一个文件中,但它提供的数据比预期的多,您知道它是否会添加更多数据吗?您不需要循环来获取数据集的所有预测。如果不指定行,它将返回一个包含数据集所有预测的向量。
   num [1, 1:10] 0.00656 0.00583 0.00947 0.07479 0.14813 ...
  - attr(*, "dimnames")=List of 2
  ..$ : chr "8184"
  ..$ : chr [1:10] "0" "1" "2" "3" ...
max(predict(tree3, digits.train[1,]))