Немного сложно понять ваш вопрос, вы должны попытаться привести нам воспроизводимый пример с кодом. Нам, сообществу, гораздо легче эффективно ответить на ваши вопросы, если вы ответите.
Вот пример:
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)))
predictions <- knn(train, test, cl, k = 3, prob=TRUE)
Я полагаю, что у вас возникли проблемы, потому что вы пытаетесь Приведите вывод функции KNN в информационный кадр. Однако выход KNN имеет вероятности в качестве атрибута данных.
Так что вам нужно получить доступ к вероятностям с помощью функции attr (). Для получения дополнительной информации введите:
?attr
в консоль R.
Для достижения желаемого результата вам необходимо сделать следующее:
data.frame(Value=predictions,Prob=attr(predictions,"prob"))