Objetivo: Aplicar todo lo aprendido en el curso en un proyecto completo de Machine Learning, desde la definición del problema hasta el despliegue como servicio dockerizado.
El proyecto integrador es tu oportunidad de demostrar que dominas el flujo completo de ML. Elegirás un dataset, construirás un modelo y lo desplegarás como un servicio funcional.
-
Notebook de análisis (
notebook.ipynb)- EDA completo
- Preparación de datos
- Entrenamiento y comparación de modelos
- Selección del modelo final
-
Servicio de predicción (
servicio/)main.pycon la API en FastAPI- Modelo serializado
Dockerfilefuncional- Script de pruebas
-
Documentación (
README.md)- Descripción del problema
- Dataset utilizado
- Resultados obtenidos
- Instrucciones para ejecutar
proyecto/
├── README.md
├── notebook.ipynb
├── servicio/
│ ├── main.py
│ ├── modelo.joblib
│ ├── vectorizer.joblib
│ ├── Dockerfile
│ ├── pyproject.toml
│ └── test_api.py
└── data/
└── dataset.csv (o instrucciones para descargarlo)
Elige un dataset de clasificación binaria. Sugerencias:
- Predicción de diabetes
- Detección de fraude en tarjetas
- Aprobación de préstamos
- Predicción de satisfacción del cliente
- Detección de spam
Fuentes: Kaggle, UCI ML Repository
- Explorar el dataset (dimensiones, tipos, nulos)
- Visualizar distribuciones y correlaciones
- Limpiar y preparar datos
- Dividir en train/val/test
- Establecer un baseline
- Entrenar al menos 3 modelos diferentes
- Hacer feature engineering
- Tuning de hiperparámetros
- Seleccionar el mejor modelo
- Reportar métricas completas (AUC, precision, recall, F1)
- Mostrar matriz de confusión
- Validación cruzada
- Evaluar en test
- Serializar el modelo final
- Crear la API con FastAPI
- Dockerizar el servicio
- Probar que funciona
| Criterio | Peso | Excelente | Aceptable | Insuficiente |
|---|---|---|---|---|
| EDA | 15% | Análisis completo con insights | EDA básico | Sin EDA |
| Preparación | 15% | Datos bien tratados, feature eng. | Limpieza básica | Datos crudos |
| Modelado | 25% | 3+ modelos, tuning, comparación | 2 modelos | Solo 1 modelo |
| Evaluación | 15% | Múltiples métricas, CV, análisis | Métricas básicas | Solo accuracy |
| Despliegue | 20% | Docker + FastAPI funcionando | API sin Docker | Sin despliegue |
| Documentación | 10% | README claro, reproducible | README parcial | Sin README |
Definida por el docente. El proyecto se presenta funcionando (demo del servicio dockerizado).
- Predicción de supervivencia en Titanic
- Clasificación de flores (Iris multiclase)
- Predicción de churn en telecomunicaciones (diferente al del curso)
- Aprobación de crédito
- Predicción de diabetes
- Detección de fraude (dataset desbalanceado)
- Predicción de abandono universitario
- Scoring de riesgo con datos financieros