Tôi đang thực hiện một nhiệm vụ phân loại văn bản với R và tôi có được ma trận thuật ngữ tài liệu với kích thước 22490 x 120.000 (chỉ có 4 triệu mục nhập khác không, các mục nhập dưới 1%). Bây giờ tôi muốn giảm tính chiều bằng cách sử dụng PCA (Phân tích thành phần chính). Thật không may, R không thể xử lý ma trận khổng lồ này, vì vậy tôi lưu trữ ma trận thưa thớt này trong một tệp ở "Định dạng thị trường ma trận", hy vọng sử dụng một số kỹ thuật khác để làm PCA.
Vì vậy, bất cứ ai cũng có thể cho tôi một số gợi ý cho các thư viện hữu ích (dù là ngôn ngữ lập trình), có thể thực hiện PCA với ma trận quy mô lớn này một cách dễ dàng hay nói cách khác là tự mình thực hiện PCA, nói cách khác là tính toán ma trận hiệp phương sai sau đó tính toán giá trị riêng và hàm riêng cho ma trận hiệp phương sai .
Điều tôi muốn là tính toán tất cả các PC (120.000) và chỉ chọn N PC hàng đầu, những người chiếm 90% phương sai . Rõ ràng, trong trường hợp này, tôi phải đưa ra một ngưỡng để đặt một số giá trị phương sai rất nhỏ thành 0 (trong ma trận hiệp phương sai), nếu không, ma trận hiệp phương sai sẽ không thưa thớt và kích thước của nó sẽ là 120.000 x 120.000, đó là không thể xử lý với một máy duy nhất. Ngoài ra, các tải (eigenvector) sẽ rất lớn và nên được lưu trữ ở định dạng thưa thớt.
Cảm ơn rất nhiều sự giúp đỡ nào !
Lưu ý: Tôi đang sử dụng máy có RAM 24GB và 8 lõi cpu.