返回最近邻居的值

时间:2017-10-23 20:18:30

标签: r knn

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

1 个答案:

答案 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