SVD на большой и разреженной матрице (24 x 4G) на R

Мне нужно SVD на очень большой матрице (24 x 2^32) на R. Эта матрица разрежена менее чем на 0,01%. Я мог бы сохранить эту матрицу с помощью simple_sparse_array класс в slam пакет.

Сначала я пытался использовать sparseMatrixMatrix пакет) и irlba, Я мог бы вычислить SVD на матрице 60k x 60k, используя это.

К сожалению похоже sparseMatrix не может хранить эту огромную матрицу.

sparseMatrix(i=1,j=1,x=1,dims=c(24,2^32))
#Error in if (any(Dim < 0)) return("Dim slot must contain non-negative values") :
#missing value where TRUE/FALSE needed
#In addition: Warning message:
#In sparseMatrix(i = 1, j = 1, x = 1, dims = c(24, 2^32)) :
#NAs introduced by coercion

Я могу использовать 750 ГБ ОЗУ в течение недели максимум. Какое лучшее решение?

0 ответов

Другие вопросы по тегам