说我在一维空间中定义了以下几点:
x = np.array([[0.70710678],
[0.70710678],
[0. ],
[1.41421356]])
我想在这n个点之间获得欧氏距离最长的m对点(如果m为1,在这种情况下将为1.4142和0)
我试图通过::>获得两两的距离
from scipy.spatial.distance import pdist, cdist cdist(x,x, 'seuclidean')
但是从这一部分我不确定如何去做其余的事情。
说我在一维空间中定义了以下几点:x = np.array([[0.70710678],[0.70710678],[0.],[1.41421356]])我想得到m对...] >
我们可以在np.argpartition
结果的平坦距离上使用cdist
-
dists = np.triu(cdist(x,x, 'seuclidean'),1)
s = dists.shape
idx = np.vstack(np.unravel_index(np.argpartition(dists.ravel(),-m)[-m:],s)).T
要使每个点与最远的对应点配对,可以使用:
要使每个点与最远的对应点配对,可以使用: