什么是FNN:knn返回值?

时间:2014-05-22 02:56:30

标签: r

这是关于R的问题,而不是关于kNN的问题。基本上,在检查一些代码时,我遇到了以下咒语:

results <- (0:9)[knn(train, test, labels, k = 10, algorithm="cover_tree")]

我理解它返回的内容。我只是不理解R中的(0:n)[<foo>]符号。我已尝试过其他值而不是0:9,但似乎无法以有意义的方式打破这一点,以及尽职调查谷歌搜索。

任何人都可以向Python / Java / C程序员解释这个吗?

1 个答案:

答案 0 :(得分:1)

在R中,代码0:9返回一个值为0到9的向量。方括号表示法用于索引到该向量:

  

(0:9)[4]#返回向量的第4个元素0:9(或3)

在这种情况下,因为knn将测试集的分类作为一个因子返回,所以它实际上做的是将该分类映射到从0到9的整数。

  

(0:9)[1,3,1,5]#返回一个有4个值的向量,即&lt; 0,2,0,4&gt;