R ile bir metin sınıflandırma görevi yapıyorum ve 22490 120,000 (sadece 4 milyon sıfır olmayan giriş,% 1'den az giriş) boyutunda bir belge terimi matrisi elde ediyorum. Şimdi PCA (Temel Bileşen Analizi) kullanarak boyutsallığı azaltmak istiyorum. Ne yazık ki, R bu büyük matrisi işleyemiyor, bu yüzden bu seyrek matrisi "Matrix Market Formatında" bir dosyada saklayarak PCA yapmak için başka bazı teknikler kullanmayı umuyorum.
Bu yüzden herhangi biri bana bu büyük ölçekli matrisle kolaylıkla PCA yapabilen veya kendi başıma uzun elli bir PCA yapabilen, yani ilk önce kovaryans matrisini hesaplayan yararlı kütüphaneler (programlama dili ne olursa olsun) için bazı ipuçları verebilir ve daha sonra kovaryans matrisi için özdeğerleri ve özvektörleri hesaplayın .
İstediğim tüm PC'leri (120.000) hesaplamak ve sadece% 90 varyansı oluşturan en iyi N PC'leri seçmek . Açıkçası, bu durumda, çok küçük varyans değerlerini 0'a (kovaryans matrisinde) ayarlamak için bir eşik değeri vermeliyim, aksi takdirde, kovaryans matrisi seyrek olmayacak ve boyutu 120.000 x 120.000 olacaktı; tek bir makine ile idare etmek imkansız. Ayrıca, yüklemeler (özvektörler) aşırı büyük olacaktır ve seyrek formatta saklanmalıdır.
Herhangi bir yardım için çok teşekkürler!
Not: 24 GB RAM ve 8 cpu çekirdekli bir makine kullanıyorum.