【问题标题】:Indexes of nearest neighbors using k-NN (class package) in R在 R 中使用 k-NN(类包)的最近邻索引
【发布时间】:2015-01-21 04:45:08
【问题描述】:

我正在使用class包的knn函数:

k <- knn(train = training, test = testset, cl = classes, k = 1, prob = TRUE)

对于测试集中给定的例子,有什么方法可以获取训练数据中 k 个最近邻的索引?我在包的文档中没有找到任何相关信息! knn 函数只返回测试样例的分类概率,而不是每个测试样例的 k 个最近邻的索引。

提前致谢!

【问题讨论】:

  • 忘了说这个问题问得好!

标签: r algorithm classification knn


【解决方案1】:

你需要一个不同的包来做到这一点。您需要 R 中的 FNN 包和函数 get.knn。你可以阅读文档here

这是一个简单的例子:

library(FNN)
data <- cbind(1:100, 1:100)

a <- get.knn(data, k=3)

然后你输入这个来获取每条记录的 3 个最近邻居的索引:

> a$nn.index
       [,1] [,2] [,3]
  [1,]    2    3    4
  [2,]    1    3    4
  [3,]    2    4    1
  [4,]    3    5    2
  [5,]    6    4    3
  [6,]    5    7    4
  [7,]    6    8    5
  [8,]    9    7   10
  [9,]   10    8   11
 [10,]    9   11   12
 [11,]   12   10    9

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    相关资源
    最近更新 更多