Wykonuję zadanie klasyfikacji tekstu za pomocą R i otrzymuję macierz dokumentu o rozmiarze 22490 na 120 000 (tylko 4 miliony niezerowych wpisów, mniej niż 1% wpisów). Teraz chcę zmniejszyć wymiarowość, korzystając z PCA (Principal Component Analysis). Niestety R nie jest w stanie poradzić sobie z tą ogromną matrycą, dlatego przechowuję tę rzadką macierz w pliku w „Matrix Market Format”, mając nadzieję na użycie innych technik do wykonania PCA.
Czy ktoś mógłby mi więc podpowiedzieć przydatne biblioteki (bez względu na język programowania), które z łatwością mogłyby wykonać PCA na tej wielkoskalowej matrycy, lub samodzielnie wykonać PCA na długo, innymi słowy, najpierw obliczyć macierz kowariancji i następnie obliczyć wartości własne i wektory własne dla macierzy kowariancji .
Chcę obliczyć wszystkie komputery (120 000) i wybrać tylko najlepsze N komputerów, które odpowiadają za 90% wariancji . Oczywiście w tym przypadku muszę z góry ustalić próg, aby ustawić niektóre bardzo małe wartości wariancji na 0 (w macierzy kowariancji), w przeciwnym razie macierz kowariancji nie będzie rzadka, a jej rozmiar wyniesie 120 000 x 120 000, czyli niemożliwe do obsługi za pomocą jednej maszyny. Ponadto ładunki (wektory własne) będą bardzo duże i powinny być przechowywane w formacie rzadkim.
Bardzo dziękuję za wszelką pomoc!
Uwaga: używam maszyny z 24 GB pamięci RAM i 8 rdzeniami procesora.