2014-09-02 4 views
4

После запуска классификации knn в (R) [http://www.r-project.org/] есть ли способ перечислить прогнозы, которые были сделаны для каждого из тестовых случаев?После выполнения классификации knn в R, как вы получаете список прогнозов для каждого из тестовых случаев?

Я знаю, как получить матрицу замешательства, но мне также нужны подробные результаты тестовой фазы, а не просто сводка.

Должен ли я запускать каждый случай обратно через модель, как если бы делали предсказания развития модели? Или мне нужна информация о тестовой фазе?

ответ

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) 

Если я объединить результаты с данными испытаний, я получаю

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 строки.

+1

Казалось бы, я * тот, кто смущен. Ваш ответ включил лампочку. – dommer