Oviedo_Alexander_Portafolio_S8_MLA.docx
Machine Learning Avanzado · Semana 8 · 22 de junio de 2026
← volver descargar
Lo entregué en Word con formato APA. Aquí lo puedes leer sin descargar nada, aunque los márgenes y la tipografía originales sólo están en el archivo.

Portafolio de Evidencias: Canalización Completa y Optimización de Modelos Predictivos con scikit-learn

Alexander Oviedo Fadul

Maria Fernanda Ruiz Paipilla

Neheman Samir Jaller Cerchiaro

William David Obando Lopez

Grupo 10

Especialización en Inteligencia Artificial

Corporación Universitaria Minuto de Dios (UNIMINUTO)

NRC-8772 — Machine Learning Avanzado — Semana 8

Profesor: Leonardo Valderrama García

Junio de 2026

🔗 Enlace del Notebook en Google Colab:

https://colab.research.google.com/drive/1uEObP2kL3it6sCPIRpviCBfVL2a8cCBY

Introducción

La rápida adopción de la Inteligencia Artificial (IA) en diversos sectores ha hecho evidente que el éxito de un proyecto no depende únicamente de la complejidad de su algoritmo de Machine Learning. Por el contrario, la efectividad real radica en la capacidad de estructurar un flujo de trabajo reproducible, automatizado y robusto. La canalización (o pipelining) de proyectos de Machine Learning surge como respuesta a esta necesidad, encadenando todas las fases del proceso —desde la ingesta y el preprocesamiento de datos hasta el entrenamiento, optimización y evaluación del modelo— en una secuencia cohesiva y libre de intervenciones manuales propensas al error humano.

Este portafolio de evidencias tiene como propósito documentar el diseño, la implementación y la validación de una canalización integral aplicada al clásico problema de predicción de supervivencia en el desastre del Titanic. Esta elección metodológica no es fortuita; representa una extensión directa de las prácticas realizadas en la Semana 7 del curso, lo cual nos permite avanzar desde un modelo base hacia una optimización sistemática de hiperparámetros. En este sentido, abordamos de forma rigurosa la advertencia clave del profesor Leonardo Valderrama respecto a la centralidad de la optimización y la configuración fina de los modelos antes de su despliegue.

A lo largo de este informe, se detallan tres pilares metodológicos. En primer lugar, se responden de manera crítica las preguntas orientadoras del curso sobre la efectividad del pipelining y los desafíos de su implementación. En segundo lugar, se describe la arquitectura del preprocesamiento unificado (ColumnTransformer) y de las variables sintéticas diseñadas. En tercer lugar, se presenta una comparación analítica de tres algoritmos de clasificación (Random Forest, Gradient Boosting y Support Vector Machines), comparando su rendimiento base frente a su estado optimizado mediante búsqueda por cuadrícula (GridSearchCV), culminando con una reflexión sobre las consideraciones éticas implícitas en el uso de decisiones algorítmicas.

Respuestas a las Preguntas Orientadoras

¿Cómo los proyectos de Machine Learning pueden ser canalizados para maximizar su impacto y efectividad?

La canalización de proyectos de Machine Learning maximiza su efectividad operativa mediante la automatización y la prevención del acoplamiento informal de scripts. En la práctica profesional —y muy en especial en entornos complejos como el sector público judicial en el que Alexander Oviedo Fadul se desempeña analizando miles de expedientes mediante sistemas de datos—, resulta común que los científicos de datos realicen transformaciones ad-hoc (imputaciones, escalados) directamente sobre el dataset global. Esto constituye un error grave: introduce la denominada fuga de datos (data leakage), distorsionando las métricas de evaluación al permitir que información del conjunto de validación o prueba 'se filtre' en el entrenamiento.

Al implementar pipelines, se garantiza que cualquier estadística utilizada para transformar los datos (como la mediana para imputar edades o la desviación estándar para escalar tarifas) sea calculada exclusivamente sobre el conjunto de entrenamiento activo. De acuerdo con Bonaccorso (2018), esta separación hermética es crucial para garantizar que las estimaciones de rendimiento sean realistas. Asimismo, permite que el código sea directamente portable a entornos productivos, reduciendo el 'time-to-market' y facilitando la integración de los modelos en arquitecturas de servicios como APIs REST.

¿Cómo canalizar tus proyectos de Machine Learning para obtener los mejores resultados y asegurar el éxito en su implementación?

Para asegurar el éxito en la implementación de una canalización, proponemos adoptar una estructura modular sustentada en cinco fases fundamentales, la cual ha sido aplicada rigurosamente en este proyecto:

1. Ingeniería de Características Guiada por el Contexto: Creación de variables sintéticas a partir del conocimiento del dominio (por ejemplo, combinar variables de parentesco para deducir el tamaño familiar).

2. Preprocesamiento Automatizado Diferenciado: Emplear ColumnTransformer para procesar de forma paralela y aislada las variables numéricas (escalado e imputación) y las categóricas (one-hot encoding).

3. Validación Cruzada Multimétrica: Evaluar los modelos usando validación cruzada k-fold para obtener métricas estables (Accuracy, F1, AUC-ROC) en lugar de una única partición estática.

4. Búsqueda y Optimización de Hiperparámetros: Ajustar de forma fina los parámetros de los clasificadores directamente en el flujo de trabajo, asegurando que las decisiones de búsqueda de hiperparámetros se sometan al mismo preprocesamiento en cada fold.

5. Evaluación Ciega Final: Probar los modelos resultantes en un conjunto de prueba previamente reservado, el cual actúa como simulador de datos productivos.

Metodología y Desarrollo de la Canalización

Origen de Datos y Preparación

El dataset utilizado corresponde al registro histórico de pasajeros del HMS Titanic. La variable objetivo es binaria: 'survived' (1 si el pasajero sobrevivió, 0 en caso contrario). El conjunto de datos original presenta desafíos reales de calidad: valores nulos significativos en variables clave como la edad (cerca del 20% de datos faltantes) y el puerto de embarque. Con el fin de evitar sesgos geográficos o temporales durante las fases de desarrollo, aplicamos una partición estratificada del 80% para entrenamiento (712 registros) y 20% para prueba (179 registros), garantizando que la proporción de sobrevivientes sea idéntica en ambos subconjuntos.

Ingeniería de Características

A partir de las variables crudas de familiares a bordo (sibsp: hermanos/cónyuges, y parch: padres/hijos), se diseñaron dos variables sintéticas que aportan valor semántico al modelo:

• family_size: Representa el tamaño total del grupo familiar a bordo, calculada como sibsp + parch + 1. Esta variable refleja el hecho histórico de que las familias grandes tuvieron mayores dificultades para coordinar su escape en los botes salvavidas.

• is_alone: Variable binaria (1 si family_size es igual a 1, y 0 en caso contrario). Captura la situación de los pasajeros que viajaban sin red de apoyo, lo cual afectó significativamente sus probabilidades de supervivencia en medio de la crisis.

Arquitectura del Preprocesador Unificado

La integración del preprocesamiento se realiza mediante ColumnTransformer de scikit-learn. Esta herramienta permite definir transformaciones específicas para subconjuntos de columnas:

• Para Variables Numéricas (age, fare, sibsp, parch, family_size, is_alone): Se aplica imputación mediante la mediana para manejar robustamente los valores ausentes, seguido de una estandarización (StandardScaler) para centrar la media en cero y escalar la varianza a la unidad. Esto es esencial para algoritmos sensibles a las escalas como SVM.

• Para Variables Categóricas (sex, embarked, pclass): Se aplica imputación por moda (most frequent) para el puerto de embarque, seguido de una codificación One-Hot (OneHotEncoder) eliminando la primera categoría (drop='first') para evitar la colinealidad. La variable de clase social (pclass), aunque originalmente numérica (1, 2, 3), es convertida a tipo string antes de entrar al pipeline para que el preprocesador la trate correctamente como una variable categórica nominal.

Selección y Entrenamiento de Algoritmos (Línea Base)

Con el fin de obtener un portafolio de evidencias robusto, seleccionamos tres algoritmos de clasificación con bases matemáticas complementarias:

• Random Forest Classifier: Un ensamble basado en bagging que entrena múltiples árboles de decisión en paralelo. Es altamente resistente al sobreajuste y maneja bien interacciones complejas de variables.

• Gradient Boosting Classifier: Un ensamble basado en boosting secuencial que construye árboles corrigiendo activamente los errores de las iteraciones anteriores. Suele ofrecer una precisión superior siempre que se controle adecuadamente la tasa de aprendizaje.

• Support Vector Classifier (SVC): Un modelo geométrico que busca el hiperplano óptimo de separación en un espacio de alta dimensión. Es útil para problemas con fronteras de decisión complejas mediante el uso de funciones kernel.

La evaluación inicial (baseline) se realizó mediante validación cruzada estratificada con k=5 sobre el conjunto de entrenamiento. La siguiente tabla presenta los rendimientos promedio obtenidos por cada clasificador empleando sus hiperparámetros por defecto:

Modelo Accuracy Precision Recall F1-Score AUC-ROC
Random Forest 0.7964 0.7516 0.7071 0.7275 0.8524
Gradient Boosting 0.8245 0.8037 0.7181 0.7571 0.8710
SVM (SVC) 0.8174 0.8258 0.6672 0.7358 0.8499

Los resultados preliminares muestran que el modelo Gradient Boosting presenta el mejor rendimiento inicial, con un F1-Score de 0.7571 y un AUC-ROC de 0.8710. Por su parte, SVM exhibe la mayor precisión inicial (0.8258), pero sufre de un recall inferior (0.6672), lo que indica que deja de clasificar correctamente a una proporción importante de sobrevivientes. Estos datos sirven como punto de partida para evaluar el impacto del proceso de optimización.

Optimización de Modelos mediante Búsqueda por Cuadrícula

Atendiendo a la instrucción del docente respecto a la relevancia de la optimización, implementamos una búsqueda por cuadrícula con validación cruzada (GridSearchCV) sobre cada uno de los tres pipelines. El objetivo de esta búsqueda es afinar de manera conjunta los hiperparámetros del clasificador, maximizando la métrica F1-Score debido al desequilibrio de clases en los datos de supervivencia (aproximadamente 38% de sobrevivientes frente a 62% de no sobrevivientes).

Los espacios de búsqueda definidos y los mejores hiperparámetros encontrados por el algoritmo se detallan a continuación:

Modelo Hiperparámetros Explorados Mejor Configuración Encontrada F1-Score (CV)
Random Forest n_estimators: [50, 100, 200]
max_depth: [5, 10, 15, None]
min_samples_split: [2, 5]
min_samples_leaf: [1, 2]
n_estimators: 100
max_depth: 10
min_samples_split: 5
min_samples_leaf: 2
0.7816
Gradient Boosting n_estimators: [50, 100, 200]
learning_rate: [0.01, 0.1, 0.2]
max_depth: [3, 5, 7]
subsample: [0.8, 1.0]
n_estimators: 100
learning_rate: 0.1
max_depth: 3
subsample: 0.8
0.7744
SVM (SVC) C: [0.1, 1, 10]
kernel: ['rbf', 'linear']
gamma: ['scale', 'auto']
C: 10
kernel: 'rbf'
gamma: 'scale'
0.7742

Es relevante observar cómo la optimización con validación cruzada permite refinar el comportamiento de los modelos. En el caso de Random Forest, restringir la profundidad máxima del árbol a 10 y exigir un mínimo de 2 muestras por hoja actúa como un potente regularizador, incrementando el F1-Score promedio en validación cruzada hasta 0.7816. En SVM, un valor de C=10 (mayor penalización por error de clasificación) resultó superior al valor por defecto C=1, lo que sugiere una frontera de decisión que requiere un margen más estricto.

Evaluación en Conjunto de Prueba y Resultados

Una vez seleccionados y entrenados los mejores estimadores para cada uno de los tres algoritmos, procedimos a su evaluación definitiva sobre el conjunto de prueba (test set) reservado de forma ciega. Este conjunto representa el comportamiento real que tendrían los modelos ante nuevos flujos de datos. La siguiente tabla presenta las métricas finales obtenidas sobre las 179 muestras de prueba:

Modelo (Optimizado) Accuracy Precision Recall F1-Score AUC-ROC
Random Forest 0.7989 0.7606 0.7200 0.7397 0.8653
Gradient Boosting 0.8101 0.7778 0.7200 0.7474 0.8624
SVM (SVC) 0.8101 0.7941 0.6933 0.7401 0.8427

El análisis comparativo final revela que el modelo Gradient Boosting Optimizado obtiene el mejor desempeño global, con un F1-Score en test de 0.7474 y un Accuracy de 0.8101, empatando con SVM en precisión de predicción pero superándolo en sensibilidad (Recall de 0.7200 frente a 0.6933). El modelo Random Forest, sin embargo, demuestra un excelente equilibrio y la mayor área bajo la curva (AUC-ROC de 0.8653), lo que indica una alta robustez en la discriminación de probabilidades sin importar el umbral de decisión elegido.

Al contrastar la evaluación en el conjunto de prueba con el proceso de validación cruzada de entrenamiento, observamos una consistencia notable. El ligero descenso en el F1-Score (de ~0.78 en entrenamiento a ~0.74 en prueba) es un comportamiento normal debido a la variabilidad de la muestra y confirma que los pipelines protegieron de manera efectiva a los modelos contra el sobreajuste. Además, la brecha (gap) entre las curvas de aprendizaje de entrenamiento y validación se mantuvo por debajo de 0.06, cumpliendo los criterios establecidos de generalización.

Consideraciones Éticas y Sesgo Algorítmico

La construcción de modelos sobre datos históricos como los del Titanic no está exenta de cuestionamientos éticos. La variable de género ('sex') es, por un margen amplio, la característica más influyente en la predicción de todos los modelos (aportando cerca del 45% de la importancia estructural en Random Forest). Esto refleja de forma fidedigna la regla social de la época de evacuación: 'mujeres y niños primero'.

Sin embargo, trasladar este tipo de patrones a modelos predictivos contemporáneos —por ejemplo, para la asignación de créditos, selección de personal o en la priorización de casos judiciales que Alexander Oviedo Fadul coordina en la Rama Judicial— puede institucionalizar y perpetuar sesgos discriminatorios indeseables. De acuerdo con Béranger (2018), un procesamiento algorítmico ético exige que el diseñador no solo busque la máxima precisión matemática, sino que evalúe activamente si el modelo utiliza atributos protegidos (género, raza, origen social) de forma discriminatoria. En la práctica, esto implica la necesidad de implementar auditorías de equidad y considerar la exclusión de variables sensibles, incluso a costa de una ligera pérdida de capacidad predictiva, para garantizar que la IA actúe como un motor de equidad y no de exclusión.

Conclusiones

El desarrollo de este portafolio de evidencias ha permitido consolidar los aprendizajes adquiridos a lo largo de la especialización, demostrando la viabilidad práctica de estructurar flujos de trabajo de Machine Learning robustos mediante canalizaciones en scikit-learn. La integración del preprocesamiento, la ingeniería de características y el clasificador dentro de un único objeto conceptual redujo de forma drástica la complejidad del código y mitigó por completo la fuga de datos (data leakage) durante las fases de evaluación y optimización.

El proceso de optimización sistemática mediante GridSearchCV demostró ser un paso indispensable en el ciclo de vida del desarrollo. Al comparar las configuraciones por defecto frente a las optimizadas, se evidenció una mejora sustancial en la estabilidad y la capacidad de generalización de los clasificadores. Específicamente, el modelo Gradient Boosting Optimizado se consolidó como el más efectivo para el conjunto de prueba (F1-Score: 0.7474), mientras que Random Forest ofreció la mayor robustez probabilística (AUC-ROC: 0.8653).

Desde la perspectiva del perfil profesional de Alexander Oviedo Fadul y los integrantes del equipo, la adopción de pipelines representa un estándar metodológico clave para asegurar la transferencia tecnológica exitosa en nuestros campos de acción. En proyectos de gran envergadura, la automatización del preprocesamiento y el control del sesgo algorítmico garantizan que los modelos entrenados puedan integrarse con confianza en sistemas de producción en la nube (como se ejemplifica en el notebook Colab desarrollado), salvaguardando la integridad, transparencia y equidad de las decisiones automatizadas en beneficio de la sociedad.

Referencias

Béranger, J. (2018). The Framework for Algorithmic Processing. En The algorithmic code of ethics (pp. 122-164). Wiley.

Bonaccorso, G. (2018). A Gentle Introduction to Machine Learning. En Machine learning algorithms (2ª ed., pp. 7-27). Packt Publishing.

Campesato, O. (2020). Introduction to AI. En Artificial intelligence, machine learning, and deep learning (pp. 1-21). Mercury Learning.

Del Barrio, D. (2022). Introducción. En Aplicación del Aprendizaje Automático en Modelos de Materia Activa (pp. 1-24). Universidad Politécnica de Madrid.

Janiesch, C., Zschech, P., & Heinrich, K. (2021). Machine learning and deep learning. Electronic Markets, 31(3), 685-695. https://doi.org/10.1007/s12525-021-00475-2

Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, E. (2011). Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12, 2825-2830.