带权重的欧几里得距离

2024-04-27

我目前正在使用SciPy计算欧氏距离

dis = scipy.spatial.distance.euclidean(A,B)

在哪里; A、B是5维位向量。现在工作正常,但是如果我为每个维度添加权重,是否仍然可以使用 scipy?

我现在拥有的:sqrt((a1-b1)^2 + (a2-b2)^2 +...+ (a5-b5)^2)

我想要的是:sqrt(w1(a1-b1)^2 + w2(a2-b2)^2 +...+ w5(a5-b5)^2)使用 scipy 或 numpy 或任何其他有效的方法来做到这一点。

Thanks


编写自己的加权 L2 范数的建议是一个很好的建议,但是中提供的计算这个答案 https://stackoverflow.com/a/8860933/681865是不正确的。如果目的是计算

那么这应该可以完成工作:

def weightedL2(a,b,w):
    q = a-b
    return np.sqrt((w*q*q).sum())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带权重的欧几里得距离 的相关文章

随机推荐