Является ли формат / структура матрицы сокращенного расстояния SciPy стабильной? - PullRequest
1 голос
/ 22 февраля 2012

Некоторые функции SciPy задокументированы как принимающие «сжатую матрицу расстояний, возвращаемую scipy.spatial.distance.pdist». Теперь проверка показывает, что pdist возвращает форму 1-массива основной строки верхней недиагональной части матрицы расстояний. Это все хорошо, естественно и очевидно, но задокументировано или определено где-нибудь? Я бы предпочел не предполагать ничего о структуре данных, которая внезапно изменится. (Конечно, не так много вещей, на которые он мог бы измениться, но я полагаю, что одной из возможностей было бы обернуть массив в объект, который допускает матричную индексацию.)

1 Ответ

1 голос
/ 22 февраля 2012

Честно говоря, это лучший вопрос для пользователей scipy или списка разработчиков, так как он касается будущих планов scipy.

Однако, структура довольно строго задокументирована в строках документации как для scipy.spatial.pdist, так и дляscipy.spatial.squareform.

Например, для pdist:

Returns a condensed distance matrix Y.  For
    each :math:`i` and :math:`j` (where :math:`i<j<n`), the
    metric ``dist(u=X[i], v=X[j])`` is computed and stored in the
    :math:`ij`th entry.

    See ``squareform`` for information on how to calculate the index of
    this entry or to convert the condensed distance matrix to a
    redundant square matrix.

В связи с этим и тем, что многие другие функции в scipy.spatial ожидают матрицу расстояний в этой форме, ясерьезно сомневаюсь, что это изменится без ряда предупреждений об износе и объявлений.

Модули в самом scipy (в отличие от scikits от scipy) достаточно стабильны, и при внесении изменений следует уделять большое внимание обратной совместимости (и поэтому существует немалоунаследованного "cruft" в scipy: например, тот факт, что базовый модуль scipy просто недопустим с различными значениями по умолчанию для нескольких функций.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...