큰 희소 행렬 선형 회귀 문제를 풀려고합니다. 다음과 같이 저는 두 행렬을 만들었습니다R 거대한 비선형 행렬 문제 해결
> dim(A)
[1] 26573 32991
> dim(B)
[1] 26573 1
내가 matrixmodels, 나는 다음과 같은 오류 얻을 lm.fit.sparse 사용하는 경우 :
> X=MatrixModels:::lm.fit.sparse(A,B)
Error in .solve.dgC.qr(if ([email protected] %in% c("dtCMatrix", "dgCMatrix")) x else as(x, : dgCMatrix_qrsol(<26573 x 32991>-matrix) requires a 'tall' rectangular matrix
무엇을 키가 큰 행렬을 의미하는 필요를? 나는 그것이 희소 행렬의 있도록 B를 변경하는 경우 :
[1] "dgCMatrix"
attr(,"package")
[1] "Matrix"
다시 해결하려고, 난 다른 오류가 발생합니다 :
> X=MatrixModels:::lm.fit.sparse(A,B)
Error: is.numeric(y) is not TRUE
사람이 문제를 해결 갈 수있는 가장 좋은 방법을 알고 있나요?
많은 감사,
은 내가 '플레어'패키지를 발견하고 사용했습니다 : – Tammboy
나는 '플레어'패키지를 발견하고 사용했습니다 :'라이브러리 (플레어) # SQRT 올가미 아웃 = 슬림 (A, B, 방법 = "LQ" nlambda = 40, λmin.value = sqrt (log (200)/120)) '그러나 나는 그것이 무엇을하고 있는지 전혀 모른다? 이것이 정확한지 아는 사람이 있습니까? 'Error : 크기 3.2의 벡터를 할당 할 수 없습니다. Gb' – Tammboy
'flare' 패키지는 사용한 적이 없지만 메모리 제한을 초과 한 것처럼 보입니다. 'help ("메모리 제한")'을보십시오. 문제가 희박한 경우 (매트릭스의 많은 0 항목 에서처럼) 'glmnet' 패키지를 확인하십시오. 큰 문제를 처리 할 수있는 것 같습니다. [이 게시물] (https://stats.stackexchange.com/questions/302893/how-does-glmnet-handle-larger-datasets). –