Использование 64-битной версии Python и переустановка всех библиотек решили проблему.

аюсь применить SVD к моей матрице (3241 x 12596), полученной после некоторой обработки текста (с конечной целью выполнения скрытого семантического анализа), и я не могу понять, почему это происходит, поскольку моя 64-разрядная машина имеет 16 ГБ БАРАН. Моментsvd(self.A) называется, выдает ошибку. Точная ошибка приведена ниже:

Traceback (most recent call last):
  File ".\SVD.py", line 985, in <module>
    _svd.calc()
  File ".\SVD.py", line 534, in calc
    self.U, self.S, self.Vt = svd(self.A)
  File "C:\Python26\lib\site-packages\scipy\linalg\decomp_svd.py", line 81, in svd
    overwrite_a = overwrite_a)
MemoryError

Поэтому я попытался с помощью

self.U, self.S, self.Vt = svd(self.A, full_matrices= False)

и на этот раз выдает следующую ошибку:

Traceback (most recent call last):
  File ".\SVD.py", line 985, in <module>
    _svd.calc()
  File ".\SVD.py", line 534, in calc
    self.U, self.S, self.Vt = svd(self.A, full_matrices= False)
  File "C:\Python26\lib\site-packages\scipy\linalg\decomp_svd.py", line 71, in svd
    return numpy.linalg.svd(a, full_matrices=0, compute_uv=compute_uv)
  File "C:\Python26\lib\site-packages\numpy\linalg\linalg.py", line 1317, in svd
    work = zeros((lwork,), t)
MemoryError

Предполагается, что это такая большая матрица, с которой Нампи не может справиться, и есть ли что-то, что я могу сделать на этом этапе без изменения самой методологии?

Ответы на вопрос(2)

Ваш ответ на вопрос