是否有办法从sklearn.neighbors.KDTree
实例中按ID或所有节点获取节点?
from sklearn.neighbors import KDTree
import numpy as np
tree = KDTree(np.array([[0., 0., 0.], [1., 1., 1.]]))
# How to get the array [[0., 0., 0.], [1., 1., 1.]] back out?
# Or something like this:
tree.get_node(0)
# Which would return: [0., 0., 0.]
。get_arrays()方法使您可以访问所有数组,第一个是原始数据。
from sklearn.neighbors import KDTree
import numpy as np
Z = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
kdt = KDTree(Z, leaf_size=30, metric='euclidean')
kdt.query(Z, k=2, return_distance=False)
kdt.get_arrays()[0]
array([[-1., -1.],
[-2., -1.],
[-3., -2.],
[ 1., 1.],
[ 2., 1.],
[ 3., 2.]])