爲了有效地找到d維空間中一個點的n個最近鄰點,我選擇了具有最大散點的維度(即在此座標點之間的差值最大)。在這個維度中從最小值到最大值的整個範圍被分成k個箱。每個箱包含座標(在這個尺寸中)在該箱的範圍內的點。確保每個垃圾箱至少有2n個點。 查找Ñ點x的最近鄰的算法如下:KNN分類器算法不適用於所有情況
- 確定倉KX,其中點x位於(其投影到準確)。
- 計算x與點kx中所有點之間的距離。
- 按升序排序計算的距離。
- 選擇前n個距離。將這些距離測量的點返回爲x的最近鄰居n 。
該算法不適用於所有情況。算法可能無法計算最近的鄰居? 任何人都可以提出修改算法以確保所有情況下的正確操作?
對不起@Duh,但我不明白你的意思。如果我們只在一個混凝土倉內尋找它們,那麼k個最近鄰居如何才能在另一個倉中? – user1691399 2014-11-15 15:29:10