кластеризация "fast ward" в Python - PullRequest
0 голосов
/ 11 февраля 2020

В программном обеспечении JMP есть возможность использовать метод "fast Ward", когда число строк превышает 2000. Из документации [fast ward]:

"Применяется алгоритм, который быстрее вычисляет метод Уорда для большого числа строк. Время вычисления короче, поскольку этот алгоритм не требует вычисления матрицы расстояний. Он используется автоматически при наличии более 2000 строк. "

Matlab делает то же самое .... "Найдите максимум четыре кластера в иерархическом дереве кластеров, созданном с использованием метода связи Уорда. Укажите« SaveMemory »как« on »для построения кластеров без вычисления расстояния матрица. В противном случае вы можете получить ошибку нехватки памяти, если на вашей машине недостаточно памяти для хранения матрицы расстояний. "

Я ищу что-то похожее в Python, но все они кажутся требовать, чтобы матрица расстояний рассчитывалась заблаговременно (что требует абсурдных объемов памяти для моей проблемы м из 275 тыс. строк и 10 столбцов). В JMP / Matlab, хотя он отлично работает на машине с половиной памяти машины, на которой я хочу запустить скрипт python. Кто-нибудь знает что-нибудь?

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Начиная с теперь откат редактирует вопрос с помощью OP :

Я обнаружил, что использование опции "linkage_vector" похоже на то, что я искал , Я был сброшен, потому что «вектор» для меня означал 1D, но я думаю, что это может быть ND.

0 голосов
/ 12 февраля 2020

Работали ли вы с fastcluster ? Имеется опция «иерархические кластеры из матриц расстояний или из векторных данных»

...