Resumen

La interpretabilidad en modelos de reducción de dimensionalidad importa: con PCA puedes explicar resultados leyendo la estructura de los componentes principales. Aquí verás cómo entender las cargas de cada componente con el atributo components_ de Scikit Learn y cómo visualizar Eigenfaces para descifrar iluminación, contraste y rasgos del rostro que se combinan en una combinación lineal para reconstruir imágenes.

¿Cómo leer los componentes principales con PCA de Scikit Learn?

Comprender los componentes permite explicar qué aprendió el modelo. El atributo pca.components_ es la matriz de eigenvectores: cada fila es un componente y cada valor es una carga o peso de una característica original en ese nuevo eje. Así puedes ver cuánto aporta cada característica a la variación capturada.

¿Qué representa components_ y por qué son cargas?

  • Es la matriz de eigenvectores aprendida por PCA.
  • Cada fila corresponde a un componente principal.
  • Los valores de la fila son las cargas o pesos por característica.
  • Indican la contribución de cada característica a ese componente.
  • Se derivan del análisis de la matriz de covarianza.

¿Cómo se interpretan las cargas en términos de características?

  • Valores altos en una posición: mayor influencia de esa característica.
  • En imágenes, cada carga corresponde a un píxel.
  • Zonas claras u oscuras al visualizar reflejan iluminación y contraste.
  • Sirven para explicar el significado del componente con lenguaje humano.

¿Cómo visualizar Eigenfaces y entender la composición del rostro?

En imágenes, los componentes no solo son vectores: también son imágenes. Por eso se les llama Eigenfaces. Verlos ayuda a entender qué ha aprendido PCA: desde la iluminación general hasta rasgos como cejas, barbilla, nariz y ojos que, ponderados, reconstruyen rostros.

¿Qué pasos seguir en Google Colab para graficar?

import matplotlib.pyplot as plt

# Supone que ya tienes: pca, h, w = 64, 64
fig, axes = plt.subplots(2, 5, figsize=(15, 6))
for i, ax in enumerate(axes.flat):
    ax.imshow(pca.components_[i].reshape(h, w), cmap='gray')
    ax.set_title(f'Componente {i+1}')
    ax.axis('off')

plt.suptitle('Visualización de las Eigenfaces. Componentes principales')
plt.tight_layout()
plt.show()

¿Qué significan los primeros componentes visualizados?

  • Componente 1: iluminación global del rostro.
  • Componente 2: contraste de luz, zonas blancas y negras opuestas.
  • Componentes siguientes: rasgos específicos del rostro.
  • Cejas destacadas.
  • Mandíbula o barbilla marcada.
  • Nariz y zona del bigote.
  • Ojos y contornos.
  • Idea clave: funcionan como bloques de construcción que, combinados linealmente, producen un rostro cercano al original.

¿Qué ejercicio práctico refuerza la interpretabilidad y qué sigue con SVD?

Repite la visualización con otro conjunto de datos trabajado previamente. Describe cada componente con base en lo que ves: iluminación, contraste y rasgos. Esta práctica fortalece la explicación de resultados y la lectura de cargas.

¿Cómo describir cada componente de forma clara?

  • Nombra el patrón dominante: iluminación, contraste o rasgo facial.
  • Señala áreas claras y oscuras y su posible efecto.
  • Relaciona el patrón con la variación en las imágenes.
  • Evita especular: describe lo observable.

¿Qué relación hay con la descomposición en valores singulares (SVD)?

  • PCA se apoya en eigenvectores de la matriz de covarianza.
  • Cuando la matriz de datos no es cuadrada, existe una descomposición más general: SVD.
  • SVD se estudiará a continuación como ampliación que funciona para cualquier matriz.

¿Ya probaste a visualizar tus Eigenfaces y a nombrar cada componente? Comparte tus hallazgos y ejemplos en los comentarios.

      Cómo interpretar componentes principales en PCA