Aplicar PCA en matriz dispersa muy grande.

Estoy haciendo una tarea de clasificación de texto con R y obtengo una matriz de término de documento con un tamaño de 22490 por 120,000 (solo 4 millones de entradas distintas de cero, menos del 1%). Ahora quiero reducir la dimensionalidad utilizando PCA (Análisis de componentes principales). Desafortunadamente, R no puede manejar esta gran matriz, por lo que almaceno esta matriz dispersa en un archivo en el "Formato de mercado de la matriz", con la esperanza de usar algunas otras técnicas para hacer PCA.

Entonces, ¿podría alguien darme algunos consejos para bibliotecas útiles (cualquiera que sea el lenguaje de programación), que podría hacer PCA con esta matriz a gran escala con facilidad, o hacer un PCA a largo plazo yo solo, en otras palabras,al principio, calcule la matriz de covarianza y luego calcule los valores propios y los vectores propios para la matriz de covarianza.

Lo que quiero escalcule todas las PC (120,000) y elija solo las mejores N PC, que representan el 90% de variación. Obviamente, en este caso, tengo que dar un umbral a priori para establecer algunos valores de varianza muy pequeños en 0 (en la matriz de covarianza), de lo contrario, la matriz de covarianza no será escasa y su tamaño sería de 120,000 por 120,000, que es imposible de manejar con una sola máquina. Además, las cargas (vectores propios) serán extremadamente grandes, y deben almacenarse en un formato disperso.

Muchas gracias por la ayuda !

Nota: estoy utilizando una máquina con 24 GB de RAM y 8 núcleos de CPU.

Respuestas a la pregunta(4)

Su respuesta a la pregunta