return 最近邻的值

return the value of the nearest neighbor

我想使用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)

这个函数的响应只是合适的label("T"),但是我想return最近邻的值(比如这里是return编辑: 行 3:3 6 T) 请帮助我。

几个不同的包有 knn 的实现,你没有说你正在使用哪个。并非所有这些都提供邻居,但 FNN 中的 knn 版本提供。

library(FNN)
KNN_Model = knn(train[,-3],test[,-3],train$L,k=1)
attr(KNN_Model, "nn.index")
     [,1]
[1,]    3