使用直接的numpy广播,您可以执行以下 *** 作:
dist = np.sqrt(((a[:, None] - b[:, :, None]) ** 2).sum(0))
另外,
scipy有一个例程可以稍微提高效率(特别是对于大型矩阵)
from scipy.spatial.distance import cdistdist = cdist(a, b)
我将避免依赖于分解矩阵乘积(形式为A ^ 2 + B ^ 2-2AB)的解决方案,因为由于浮点舍入误差,它们在数值上可能不稳定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)