我们有一个很好的KDTree构造函数,它接受一个numpy数组,现在我有一个用例,我希望传递与3D空间中每个点相关联的名称以及该点,所以当我查询该点并获取它回来了,我也可以得到它的名字。这在调试方面非常有用。
我的问题:我如何使用这个接受类似数组的对象的接口来完成这项工作。 http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html
使事情更加清晰的一个例子:
说我有很多这样的观点:
[[1, 1, 1.1],
[1, 1, 1.2],
[1, 1, 100]]
并且每个点都有一个名称,a,b和c。
构造KDTree的方法只是树= KDTree(X),其中X是上面的矩阵。现在,如果我用点[1,1,1]查询KDTree,我会回到上面的前两点(比如说)。现在我如何将这些点的名称作为a和b返回。目前,我知道这样做的唯一方法是使用名称保留第二个字典。但对于一大堆积分来说,这似乎浪费了空间和优雅。
原始API是否允许存储名称和点?如果可能的话怎么做