在R中进行knn分类后,如何获得每个测试用例的预测列表?

dom*_*mer 4 r classification knn

在(R)[ http://www.r-project.org/]中运行knn分类后,有没有办法列出为每个测试用例做出的预测?

我知道如何获得混淆矩阵,但我也喜欢测试阶段的详细结果而不仅仅是摘要.

我是否必须通过模型运行每个案例,就像进行模型开发预测一样?或者我需要输出测试阶段的信息?

MrF*_*ick 7

我糊涂了.这似乎正是knn回归.调整帮助页面中的示例?knn

library(class)
train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))
fit <- knn(train, test, cl, k = 3, prob=TRUE)
Run Code Online (Sandbox Code Playgroud)

如果我将结果与测试数据结合起来,我得到了

head(data.frame(test, pred=fit, prob=attr(fit, "prob")))

#   Sepal.L. Sepal.W. Petal.L. Petal.W. pred prob
# 1      5.0      3.0      1.6      0.2    s    1
# 2      5.0      3.4      1.6      0.4    s    1
# 3      5.2      3.5      1.5      0.2    s    1
# 4      5.2      3.4      1.4      0.2    s    1
# 5      4.7      3.2      1.6      0.2    s    1
# 6      4.8      3.1      1.6      0.2    s    1
Run Code Online (Sandbox Code Playgroud)

所以每test行都有一个预测.