Encontrar la dimensión con mayor variación usando PCA con scikit-learn

Necesito usar pca para identificar las dimensiones con la varianza más alta de un determinado conjunto de datos. Estoy usando el pca de scikit-learn para hacerlo, pero no puedo identificar a partir de la salida del método pca cuáles son los componentes de mis datos con la varianza más alta. Tenga en cuenta que no quiero eliminar esas dimensiones, solo identifíquelas.

Mis datos están organizados como una matriz con 150 filas de datos, cada una con 4 dimensiones. Estoy haciendo lo siguiente:

pca = sklearn.decomposition.PCA() pca.fit(data_matrix) 

Cuando imprimo pca.explained_variance_ratio_ , genera una serie de relaciones de varianza ordenadas de mayor a menor, pero no me dice a qué dimensión de los datos corresponden (he intentado cambiar el orden de las columnas en mi matriz, y la matriz de relación de varianza resultante fue la misma).

La impresión de pca.components_ me da una matriz de 4×4 (dejé el número original de componentes como argumento a pca) con algunos valores que no puedo entender el significado de … según la documentación de scikit, deben ser los componentes con la varianza máxima (¿los vectores propios quizás?), pero ningún signo de a qué dimensión se refieren esos valores.

Transformar los datos tampoco ayuda, ya que las dimensiones se modifican de una manera que realmente no puedo saber cuál eran originalmente.

¿Hay alguna manera de obtener esta información con el pca de scikit? Gracias

Las pca.explained_variance_ratio_ devueltas son las variaciones de los componentes principales. Puede usarlos para encontrar cuántas dimensiones (componentes) sus datos podrían transformarse mejor con pca. Puede usar un umbral para eso (por ejemplo, cuenta cuántas variaciones son mayores que 0.5, entre otras). Después de eso, puede transformar los datos por PCA utilizando el número de dimensiones (componentes) que son iguales a los componentes principales superiores al umbral utilizado. Los datos reducidos a estas dimensiones son diferentes de los datos en dimensiones en datos originales.

Puedes consultar el código desde este enlace:

http://scikit-learn.org/dev/tutorial/statistical_inference/unsupervised_learning.html#principal-component-analysis-pca