最近邻搜索2个距离度量

时间:2017-07-30 15:53:11

标签: python numpy scikit-learn nearest-neighbor

我正在处理一个数据集,我正在使用BallTree算法计算一个距离指标的两点相关性。说

import numpy as np
from sklearn.neighbors import BallTree
np.random.seed(0)
X = np.random.random((30, 3))
r = np.linspace(0, 1, 5)
tree = BallTree(X,metric='euclidean')     
tree.two_point_correlation(X, r)

现在,我想根据两个不同的指标计算两点相关性。想象一下,我想根据它们在XZ和YZ平面上的距离找到相关性 - 基于两个距离而不是一个距离来组合邻居。假设我想根据两个不同的距离指标在r1r2箱内找到相关性,例如

r1 = np.linspace(0, 1, 5)
r2 = np.linspace(0, 1, 5)
tree = BallTree(X,metric1=’euclidean2D’,metric2=’euclidean2D’)     
tree.two_point_correlation(X, r1, r2)

我该怎么做呢?目标是获得两点相关的等高线图,其中r1和r2为轴。

更新

可能不必在树创建级别完成。它可能是使用循环并创建两个不同的球。像

这样的东西
tree1=BallTree(X,metric='metric1') #for x-z plane
tree2=BallTree(X,metric='metric2') #for y-z plane

然后使用tpcf(X,r1,r2)tree1.two_point_correlation(X,r1)

计算循环中的相关函数以获取tree2.two_point_correlation(X,r2)

0 个答案:

没有答案