r - R 中 KKNN 包中的最近邻在使用整个数据集时给出垃圾索引值

标签 r machine-learning nearest-neighbor knn

我正在 R 中使用“kknn”包来查找数据集中每一行的所有最近邻居。由于一些奇怪的原因,测试数据集中的最后一行总是被忽略。下面是 R 代码和获得的输出。

X1 <- c(0.6439659, 0.1923593, 0.3905551, 0.7728847, 0.7602632)
X2 <- c(0.9147394, 0.6181713, 0.8515923, 0.8459367, 0.9296278)
Class <- c(1, 1, 0, 0, 0)
Data <- data.frame(X1,X2,Class)
Data$Class <- as.factor(Data$Class)
library("kknn")
### Here, both training and testing data sets is the object Data
Neighbors.KNN <- kknn(Data$Class~., Data,Data,k = 5, distance =2, kernel = "gaussian")

## Output 
## The Column 5 in the below output is filled with garbage values and the value of the first value in the last row is 4, when it has to be 5.
Neighbors.KNN$C  
     [,1] [,2] [,3] [,4]    [,5]
[1,]    1    4    3    2 3245945
[2,]    2    3    4    1 3245945
[3,]    3    1    4    2 3245945
[4,]    4    1    3    2 3245945
[5,]    1    4    3    2 3245945

如果我做错了什么或者这是包中的错误,有人可以告诉我吗?

最佳答案

当前的实现(默默地)假设 k 小于 n(行数)。一般来说,k << n 这种情况没有问题。第 (k+1) 个用于缩放距离。我应该在文档中提到这一点。

问候, 克劳斯

关于r - R 中 KKNN 包中的最近邻在使用整个数据集时给出垃圾索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29724801/

相关文章:

python-3.x - 如何在 Keras 中创建自定义损失函数来评估每个时期后的预测?

artificial-intelligence - FIND-S 算法 - 简单问题

python - 如何找到数值、分类(MCQ-单项响应)和(MCQ-多重响应)之间的相关性?

r - 将矩阵转换为 R 中的向量数

javascript - RCurl处理汉字

java - 使用前缀树在 O(1) 中查找单个最近邻居?

elasticsearch - 如何测量单词或非常短的文本之间的相似性

c - 使用最近邻法放大图像

r - 启动 R/RStudio 时不需要加载 R 中的包?

r - 创建响应式(Reactive) renderUI