Bloque 5: Aprendizaje No Supervisado y Reducción de Dimensionalidad
Los métodos no supervisados identifican estructura en los datos sin utilizar la variable objetivo. En un proyecto de ingeniería tienen dos usos:
- Exploratorio: el Análisis de Componentes Principales (PCA) revela redundancia y correlación entre variables; el clustering revela segmentos de observaciones con comportamiento similar.
- Generación de variables: las componentes principales o las distancias a los centroides de los clústeres pueden incorporarse como variables predictoras adicionales.
Tres restricciones condicionan su uso:
- PCA y K-Means aprenden parámetros de los datos (componentes y centroides). Están sujetos a las mismas reglas de prevención de fugas que el preprocesado y deben ajustarse dentro del Pipeline.
- Ambos métodos son sensibles a la escala de las variables. La estandarización previa es obligatoria.
- Su aportación al rendimiento predictivo no está garantizada. Debe demostrarse empíricamente con el protocolo de validación cruzada del Bloque 4. Un resultado negativo, correctamente medido, es un resultado válido.
Prerrequisitos
- Bloque 4 integrado en
main.
Material de Referencia
- Reducción de dimensionalidad y clustering: Consulte los capítulos dedicados a PCA y a K-Means del Python Data Science Handbook. El material desarrolla la proyección sobre los vectores propios de la matriz de covarianza y el algoritmo de minimización de la varianza intra-clúster.
Actividad Práctica
- Cree la rama
feat/b05-no-supervisadodesdemainactualizada. - Realice el análisis exploratorio en el cuaderno
B05_Aprendizaje_No_Supervisado/exploracion.ipynb, utilizando exclusivamenteX_train(misma partición del Bloque 2) y sus variables numéricas continuas, imputadas y estandarizadas con los transformadores del Bloque 4 ajustados sobreX_train. - PCA:
- Genere la curva de varianza explicada acumulada y determine el número mínimo de componentes que explica al menos el 90 % de la varianza.
- Interprete las cargas de las dos primeras componentes: qué variables originales las dominan.
- Genere la proyección de las observaciones sobre las dos primeras componentes, coloreada según la variable objetivo.
- K-Means:
- Evalúe valores de
kentre 2 y 10 mediante la inercia (método del codo) y el coeficiente de silueta, conrandom_state=42y un valor explícito den_init. - Seleccione
ky justifique la elección. - Caracterice cada clúster mediante los valores medios de las variables originales.
- Evalúe valores de
- Implemente el script
B05_Aprendizaje_No_Supervisado/pipeline_latente.py, ejecutable conuv run python -m B05_Aprendizaje_No_Supervisado.pipeline_latente, que construya tres configuraciones:- A (referencia): el Pipeline final del Bloque 4.
- B (ampliada): en la rama numérica del
ColumnTransformer, tras la imputación y el escalado, unFeatureUnionque concatene las variables originales (FunctionTransformer()),PCA(n_components=0.90)yKMeans(n_clusters=k). El métodotransformdeKMeansdevuelve la distancia de cada observación a cada centroide, que se utiliza como variable. - C (reducida): en la rama numérica, las variables originales se sustituyen por
PCA(n_components=0.90).
- Evalúe las tres configuraciones con la misma estrategia de validación cruzada, los mismos pliegues y la misma métrica del Bloque 4.
- Seleccione la configuración final: una configuración B o C solo sustituye a la A si su mejora supera la desviación típica entre pliegues. En caso contrario, se mantiene la configuración A.
- Evalúe la configuración seleccionada una única vez sobre
X_test. - Publique la rama y abra un Pull Request hacia
main.
Contenido Obligatorio del Pull Request
- Número de componentes seleccionado y su interpretación.
- Valor de
kseleccionado, su justificación y la caracterización de los clústeres. - Tabla comparativa de las configuraciones A, B y C (media ± desviación típica en validación cruzada).
- Decisión final justificada y resultado en prueba.
Criterios de Aceptación
- El análisis exploratorio no utiliza datos de
X_test. - PCA y K-Means se ajustan exclusivamente dentro del Pipeline en el script de evaluación.
- La decisión final se basa en la comparación de validación cruzada, no en el resultado de prueba.
Transición al Bloque 6
Este bloque cierra la formación metodológica común: entorno reproducible, datos procesados de forma vectorizada, evaluación orientada al negocio y Pipelines libres de fugas. El Bloque 6 aplica esta metodología a un dominio técnico concreto.