使用最近的邻居时,如何从sklearn球树中获取每片叶子的质心? 获得一个点的所有邻居很容易,但是我找不到找到具有给定半径的终叶质心的方法。 可以查询每个点找到叶子,然后手动获取质心。
import numpy as np
samples = np.array([[0., 0., 0.], [0., .5, 0.], [1., 1., .5]])
from sklearn.neighbors import NearestNeighbors
neigh = NearestNeighbors(radius=1.3, algorithm='ball_tree')
neigh.fit(samples)
rng = neigh.radius_neighbors([[1., 1., .5]])
print(np.asarray(rng[0][0]))
print(np.asarray(rng[1][0]))
leaf_centroid = samples[rng[1][0]].mean(axis=0)
print(leaf_centroid)