NearestNeighbors() returns 顺序错误

NearestNeighbors() returns sequence wrong

我正在使用 sklean.neighbors 库中的 NearestNeighbors() 来传递 117*12 矩阵。我正在查看索引二维数组。第一个元素 indices[i][0] 应该是节点本身。然而,在某些元素上,序列被它的邻居所取代。我想知道如何防止这种情况发生。

这是返回的索引示例。

 [ 63 113  59  52  15]
 [ 64  35  14  12  66]
 [100  76  65  49  32]
 [ 66  12  14  35  64]
 [ 67   8 112  11  47]
 [ 68  92 104  80  66]
 [ 69  63  52  59 113]
 [ 70  60 107   7  27]
 [ 71  33  93  78  97]
 [ 72  45 116  30  99]
 [ 73  97   7  62  94]
 [ 74  46  90  79 115]
 [ 75 108  82  10  26]
 [100  76  65  49  32]
 [ 77   6  27  50   7]
 [ 78  93  97  62  73]

当给定索引处的样本完全相等时,就会发生这种情况。所以在你的情况下:

X[65] = X[76] = X[100]

假设 X 是数据。

在这种情况下,顺序由内部决定。如您所见,该订单将得到维持:

...
[100  76  65  49  32]
...
...
[100  76  65  49  32]
...