R을 사용하여 텍스트 분류 작업을 수행하고 있으며 크기가 22490 x 120,000 (0이 아닌 4 백만 개, 1 % 미만) 인 문서 용어 행렬을 얻습니다. 이제 PCA (Principal Component Analysis)를 사용하여 차원을 줄이려고합니다. 불행히도 R은이 거대한 행렬을 처리 할 수 없으므로이 희소 행렬을 "매트릭스 마켓 형식"의 파일에 저장하고 다른 기술을 사용하여 PCA를 수행하기를 희망합니다.
따라서 누구나 유용한 라이브러리 (프로그래밍 언어에 관계없이)에 대한 힌트를 줄 수 있습니다.이 대규모 행렬로 PCA를 쉽게 수행하거나 직접 PCA를 수행 할 수 있습니다. 즉, 처음에 공분산 행렬을 계산하고 공분산 행렬에 대한 고유 값과 고유 벡터를 계산합니다 .
내가 원하는 것은 모든 PC (120,000) 를 계산하고 90 % 차이를 차지하는 상위 N 개의 PC 만 선택하는 것 입니다. 분명히,이 경우에는 매우 작은 분산 값을 0으로 설정하기 위해 임계 값에 우선 순위를 부여해야합니다 (공분산 행렬에서). 그렇지 않으면 공분산 행렬은 희소하지 않으며 크기는 120,000 x 120,000입니다. 하나의 기계로 처리 할 수 없습니다. 또한, 로딩 (고유 벡터)은 매우 클 것이며 희소 형식으로 저장해야합니다.
어떤 도움을 주셔서 대단히 감사합니다!
참고 : 24GB RAM과 8 개의 CPU 코어가있는 컴퓨터를 사용하고 있습니다.