Почему значения CityBlock (Manhattan Distance) различаются в scipy.spatial.distance.pdist и sklearn.metric.pairwise_distances - PullRequest
2 голосов
/ 17 мая 2019

Чтобы решить проблему, мне нужны манхэттенские расстояния между всеми векторами.Я попытался sklearn.metrics.pairwise_distances, но размер был слишком велик, поэтому, чтобы уменьшить объем памяти, я использовал scipy.spatial.distance.pdist, чтобы получить сжатую матрицу расстояний 1D.

Я использовал следующую формулу:

index = diagonalShape*(diagonalShape-1)/2 - (diagonalShape-i)*(diagonalShape-i-1)/2 + j - i - 1

, чтобы вычислить индекс матрицы 1D, чтобы получить значение расстояния ij.

Я наблюдалчто для многих записей расстояния отличаются от scipy и sklearn.Почему это так, когда формула, используемая для расчета расстояний между городами, одинакова для обеих библиотек?

...