【发布时间】:2014-10-27 03:47:46
【问题描述】:
在 (R)[http://www.r-project.org/] 中运行knn 分类后,有没有办法列出针对每个测试用例所做的预测?
我知道如何获得混淆矩阵,但我还想要测试阶段的详细结果,而不仅仅是摘要。
我是否必须在模型中运行每个案例,就像在进行模型开发后预测一样?还是我需要的信息是测试阶段的输出?
【问题讨论】:
标签: r classification knn
在 (R)[http://www.r-project.org/] 中运行knn 分类后,有没有办法列出针对每个测试用例所做的预测?
我知道如何获得混淆矩阵,但我还想要测试阶段的详细结果,而不仅仅是摘要。
我是否必须在模型中运行每个案例,就像在进行模型开发后预测一样?还是我需要的信息是测试阶段的输出?
【问题讨论】:
标签: r classification knn
我很困惑。这似乎正是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)
如果我将结果与测试数据结合起来,我会得到
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
所以每个test 行都有一个预测。
【讨论】: