Python 如何从sklearn.neights.KDTree检索节点?

Python 如何从sklearn.neights.KDTree检索节点?,python,scikit-learn,nearest-neighbor,Python,Scikit Learn,Nearest Neighbor,有没有办法从sklearn.neights.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

有没有办法从
sklearn.neights.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.]])