Mis datos originales tienen muchas más columnas (características) que filas (usuarios). Estoy intentando reducir las características de mi SVD (necesito todas las filas). Encontré un método para hacerlo en un libro llamado "Machine Learning in Action", pero no creo que funcione para los datos que estoy utilizando.
El método es el siguiente. Definir SVD como $$A = USV^\top.$$
Establezca un umbral de optimización (por ejemplo, 90%). Calcular la suma total de los cuadrados de la diagonal. $S$ matriz. Calcula cuántos $S$ valores necesarios para alcanzar el 90% de la suma total de cuadrados. Así que si resulta ser 100 $S$ valores, entonces tomaría las 100 primeras columnas del $U$ las 100 primeras filas de la matriz $V^\top$ y una matriz $100\times 100$ matriz cuadrada de la $S$ matriz. A continuación, calcularía $A = USV^\top$ utilizando las matrices reducidas.
Sin embargo, este método no tiene como objetivo las columnas de mis datos originales, ya que las dimensiones de los datos resultantes $A$ matriz son los mismos que antes. ¿Cómo puedo orientar las columnas de mi matriz original?