MDS зависает при вычислениях на большой матрице - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь предварительно уменьшить размеры до двух размеров от матрицы 64535 х 67 до матрицы 64535 х 2. Я не уверен, каковы причины того, почему приведенные ниже вычисления с помощью подгоночного преобразования зависают, кроме того, что это большая матрица и большое сокращение. Разве mds не оборудован, чтобы иметь дело с такой большой матрицей / сокращением? Есть ли обходной путь к этому?

temp = df.select_dtypes(include=[np.number])
norm = (temp - temp.mean())/temp.std()

mds = sklearn.manifold.MDS(n_components=2, eps=0)
data2d = mds.fit_transform(norm)

1 Ответ

0 голосов
/ 22 мая 2019

MDS имеет сложность O (N ^ 3), вероятно, она не зависает, но все еще работает. Проверьте раздел 3 ниже бумаги. MDS будет хорошо работать на больших матрицах, но это займет значительное время. Я понятия не имею, что вы пытаетесь сделать с уменьшением размерности, но если вы просто ищете скорость, я бы предложил некоторый тип рандомизированных проекций (которые все еще работают хорошо).

http://web.mit.edu/cocosci/Papers/nips02-localglobal-in-press.pdf

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