我想使用knn方法进行分类,但除了检索适当的标签外,我还需要检索最近邻居(测试数据)的值。如何在1nn中检索最近的邻居? 例如,我有以下数据
#this is the train data
X Y L
1 4 T
2 5 F
3 6 T
#this is the test data
X Y L
8 3 T
#knn with k=1
knn(train[,-3],test[,-3],train$L,k=1)
此函数的响应只是相应的标签(" T"),但我想返回最近邻居的值(例如,这里返回: 第3行:3 6 T) 请帮帮我。
答案 0 :(得分:1)
有几个不同的包有knn的实现,你没有说你正在使用它。并非所有这些都提供邻居,但FNN中的knn版本确实如此。
library(FNN)
KNN_Model = knn(train[,-3],test[,-3],train$L,k=1)
attr(KNN_Model, "nn.index")
[,1]
[1,] 3