Resumen

Interpretar PCA con claridad es clave para explicar resultados con datos de imágenes. Aquí verás cómo leer el atributo components_ de Scikit-learn, entender las cargas de cada componente y visualizar Eigenfaces que funcionan como bloques de construcción del rostro, con código reproducible en Google Colab.

¿Cómo interpretar pca.components_ y las cargas de eigenvectores?

La interpretabilidad empieza leyendo pca.components_: la matriz de eigenvectores donde cada fila es un componente principal y cada valor es una carga o peso de una característica original en la nueva dirección. Así entendemos cuánto aporta cada característica a la construcción del componente. Esta estructura deriva del análisis de la matriz de covarianza, que permite extraer direcciones de máxima varianza.

  • Cada componente es una combinación lineal de las características originales.
  • Las cargas indican contribución positiva o negativa de cada característica.
  • Explicar componentes aumenta la interpretabilidad del modelo y sus resultados.

Para imágenes, cada componente puede reordenarse a su forma 2D original y visualizarse directamente.

# Visualización de las primeras 10 Eigenfaces
fig, axes = plt.subplots(2, 5, figsize=(15.6, 6))
h, w = 64, 64  # forma de cada imagen

for i, ax in enumerate(axes.flat):
    ax.imshow(pca.components_[i].reshape(h, w), cmap='gray')
    ax.set_title(f'Componente {i+1}')

plt.suptitle('Visualización de las Eigenfaces: componentes principales')
plt.show()

En el código se usan subplots, un for loop con enumerate(axes.flat), reshape a (64, 64), cmap='gray', un f-string para el título y plt.suptitle para el título general.

¿Por qué las Eigenfaces revelan patrones de rostro?

En imágenes, los componentes no son solo vectores: también son imágenes. Estas Eigenfaces muestran patrones que PCA aprendió del conjunto de datos y permiten “ver” qué información captura cada componente.

  • El primer componente suele representar la iluminación global del rostro: zonas claras y oscuras uniformes.
  • El segundo componente refleja contraste de luz sobre el rostro: una mitad clara y otra oscura.
  • Los siguientes componentes capturan rasgos concretos: cejas, mandíbula/barbilla, nariz, zona del bigote, ojos.
  • Los primeros diez componentes funcionan como bloques de construcción para reconstruir un rostro mediante una combinación lineal ponderada.

Leer Eigenfaces así facilita explicar qué “ven” los componentes y por qué ayudan a comprimir información manteniendo lo esencial del rostro.

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

Aplica el mismo código de visualización al conjunto de datos usado previamente y describe cada componente con tus palabras.

  • Ejecuta la celda que visualiza pca.components_ como imágenes 64×64.
  • Describe el componente 1: iluminación del rostro.
  • Describe el componente 2: contraste de luz.
  • Identifica en los siguientes componentes rasgos como cejas, barbilla/mandíbula, nariz, ojos y bigote.
  • Explica cómo una combinación lineal de estos componentes reconstruye el rostro original.

Has visto cómo PCA usa eigenvectores de la matriz de covarianza para encontrar direcciones con máxima varianza. Cuando la matriz de datos no es cuadrada, existe una descomposición más general que funciona para cualquier matriz: la descomposición en valores singulares (SVD).

¿Probaste el ejercicio? Comparte tus visualizaciones y hallazgos en los comentarios: ¿qué rasgos identificaste en cada componente y cómo afectarían la reconstrucción?