Módulo 6: Embedding Operations
Dimensionality Reduction
Por qué reducir dimensiones
# OpenAI embeddings: 1536 dims
# Problema: Difícil visualizar
# Solución: Reducir a 2-3 dims para visualización
# ADVERTENCIA: Solo para visualización, NO para producción
PCA (Principal Component Analysis)
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# Embeddings (N × 1536)
embeddings = np.array([...])
# Reducir a 2D
pca = PCA(n_components=2)
embeddings_2d = pca.fit_transform(embeddings)
# Plot
plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1])
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('Embeddings in 2D (PCA)')
plt.show()
UMAP (mejor que PCA)
import umap
# UMAP preserva estructura local mejor que PCA
reducer = umap.UMAP(n_components=2)
embeddings_2d = reducer.fit_transform(embeddings)
# Plot (clusters más claros que PCA)
plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1])
Limitaciones
❌ NO usar para producción:
- Pérdida de información (~90%)
- Solo para visualización/exploración
✅ Usar para:
- Visualizar clusters
- Debugging (ver outliers)
- Presentations
Resumen
- ✅ PCA: Rápido, linear
- ✅ UMAP: Mejor preservación de estructura
- ❌ Producción: NO reducir dims (pérdida info)
- ✅ Visualización: OK
Módulo 6 - Cápsula 05