¿Cómo puedo usar PCA / SVD en Python para la selección de características Y la identificación?
estoy siguiendoAnálisis de componentes principales en Python usar PCA bajo Python, pero estoy luchando para determinarcual características a elegir (es decir, cuál de mis columnas / características tiene la mejor variación).
Cuando yo usoscipy.linalg.svd
, ordena automáticamente mis valores singulares, por lo que no puedo decir a qué columna pertenecen.
Código de ejemplo:
import numpy as np
from scipy.linalg import svd
M = [
[1, 1, 1, 1, 1, 1],
[3, 3, 3, 3, 3, 3],
[2, 2, 2, 2, 2, 2],
[9, 9, 9, 9, 9, 9]
]
M = np.transpose(np.array(M))
U,s,Vt = svd(M, full_matrices=False)
print s
¿Hay una forma diferente de hacerlo sin que se clasifiquen los valores singulares?
Actualizar: Parece que esto podría no ser posible, al menos de acuerdo con esta publicación en los foros de Matlab:http://www.mathworks.com/matlabcentral/newsreader/view_thread/241607. Si alguien sabe lo contrario, hágamelo saber :)