Estoy usando la descomposición vectorial singular en una matriz y obteniendo las matrices U, S y Vt. En este punto, estoy tratando de elegir un umbral para la cantidad de dimensiones a retener. Me sugirieron que mirara un diagrama de pantalla pero me pregunto cómo trazarlo en numpy. Actualmente, estoy haciendo lo siguiente usando bibliotecas numpy y scipy en python:
U, S, Vt = svd(A)
¿Alguna sugerencia?
                    
                        data-visualization
                                python
                                svd
                                
                    
                    
                        Leyenda
fuente
                
                fuente

S, si aún no es una diagonal, cuadrátela, ordénela en orden decreciente, tome la suma acumulativa, divida por el último valor, luego grafíquela.[U,S,V] = svd(X);S = cumsum(sort(diag(S).^2,1,'descend'));S = S ./ S(end);plot(S);Respuestas:
Aquí hay un ejemplo que se puede pegar en un indicador de IPython y generar una imagen como la siguiente (utiliza datos aleatorios):
fuente
num_vars? no parece estar definido en tu script.