scipy.spatial.distance.pdist возвращает сжатую матрицу расстояний. Из документация:
Возвращает матрицу сокращенных расстояний Y. Для каждого и (где) метрика dist (u = X [i], v = X [j]) вычисляется и сохраняется в записи ij.
Я думал, что ij означает i*j. Но я думаю, что я ошибаюсь. Рассмотрим
X = array([[1,2], [1,2], [3,4]])
dist_matrix = pdist(X)
то в документации указано, что dist(X[0], X[2]) должен быть dist_matrix[0*2]. Однако dist_matrix[0*2] равно 0, а не 2.8, как и должно быть.
Какую формулу я должен использовать для доступа к подобию двух векторов, заданных i и j?