不使用scipy-python计算距离矩阵

2024-03-29 10:17:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想了解计算两个2d.矩阵之间距离矩阵的特定代码部分。你知道吗

最聪明、最简单的方法是使用类似于下面代码的scipy

import scipy
import scipy.spatial

D = scipy.spatial.distance.cdist(X_norm, X_norm)

但是有一种方法我不太明白。就是这个

Dalt = np.sqrt(((X_norm ** 2).sum(axis=1).reshape((1, len(X_norm))) \
      + (X_norm ** 2).sum(axis=1).reshape((len(X_norm), 1)) \
      - 2 * numpy.dot(X_norm, X_norm.T)) + 1e-7)

print(((Dalt - D) ** 2).mean())

我实际上不明白的是最后一部分,当他最后加上这一部分

+ le-7)

Tags: 方法代码import距离normlen矩阵scipy