вычисление матрицы расстояний без использования Python Scipy - PullRequest
0 голосов
/ 22 ноября 2018

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