Я хочу понять конкретную часть кода, которая вычисляет матрицу расстояний между двумя 2d.matrices.
самый умный и простой способ сделать это, используя 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)