我正在处理一个数据集,我正在使用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平面上的距离找到相关性 - 基于两个距离而不是一个距离来组合邻居。假设我想根据两个不同的距离指标在r1
和r2
箱内找到相关性,例如
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)