Здравствуйте, я пытаюсь получить дерево cdKTree для ближайших соседей двух наборов многомерных точек. Есть ли быстрый способ или даже метод, который я не знаю, который может дать набор соседних точек с наименьшей частотой повторяющихся соседей (поэтому у меня самый высокий показатель уникальных соседей) и наименьшее среднее расстояние между ними?
Сейчас я вычисляю индексы соседей как:
a = np.random.rand(100,4)
b = np.random.rand(200,4)
tree=spatial.cKDTree(a)
indexesOf_neighbors= tree.query(b, 1)[1]
u, idx = np.unique(indexesOf_neighbors, return_index=True)
print(len(indexesOf_neighbors[idx]))