Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Scikit-learn — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • scikit-learn

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales de ciencia de datos que ya manejan los fundamentos de scikit-learn y buscan consolidar flujos de trabajo robustos y reproducibles para proyectos de aprendizaje supervisado de complejidad media-alta. A lo largo de las ocho horas de formación, los participantes aprenderán a construir pipelines completos que integren preprocesado heterogéneo y estimadores, a comparar algoritmos de forma fundamentada, a diseñar búsquedas de hiperparámetros eficientes y a seleccionar métricas de evaluación acordes al problema real, incluyendo escenarios de desbalance de clases. Al finalizar, cada participante habrá desarrollado un flujo de modelado end-to-end —libre de data leakage, validado con validación cruzada estratificada y optimizado mediante búsqueda de hiperparámetros— listo para ser aplicado sobre datos reales de su ámbito profesional.

  1. Explicar la arquitectura de un Pipeline de scikit-learn y el papel de ColumnTransformer en el tratamiento diferenciado de variables numéricas y categóricas.
  2. Describir los principios de validación cruzada estratificada y el riesgo de data leakage, distinguiendo cuándo y por qué cada uno compromete la estimación del rendimiento real.
  3. Diseñar un pipeline completo que integre preprocesado con ColumnTransformer, un estimador supervisado y validación cruzada estratificada, interpretando la media y desviación estándar de las puntuaciones resultantes.
  4. Comparar al menos tres algoritmos supervisados —incluyendo modelos lineales y basados en árboles— justificando la elección final en función de las características del dataset.
  5. Seleccionar y justificar métricas de evaluación adecuadas (F1-macro, ROC-AUC, R²/MAE, entre otras) ante situaciones de desbalance de clases o asimetría en el coste de error, descartando razonadamente la métrica por defecto cuando no sea apropiada.
  6. Diseñar una búsqueda de hiperparámetros con GridSearchCV o RandomizedSearchCV embebida en un pipeline, eligiendo entre ambas estrategias en función del tamaño del espacio de búsqueda y el coste computacional disponible.
  7. Depurar un flujo de trabajo con data leakage, identificar su causa, cuantificar su impacto en la métrica y aplicar la corrección dentro del pipeline.
  8. Contrastar importancias de características obtenidas mediante distintos métodos —feature_importances_, coeficientes de modelos lineales y permutation_importance— señalando discrepancias y limitaciones de cada enfoque para apoyar la toma de decisiones sobre el modelo final.

Bloque 1 — Pipelines y preprocesado heterogéneo El bloque de apertura establece la arquitectura central del curso: el Pipeline de scikit-learn como estructura que encadena de forma segura transformaciones y estimadores. Se estudia ColumnTransformer como mecanismo para aplicar transformaciones diferenciadas a columnas numéricas y categóricas dentro del mismo pipeline, y se practica la construcción de flujos completos sobre datasets reales con variables de ambos tipos. Se presta especial atención a las garantías que ofrece el pipeline frente al data leakage accidental.

Bloque 2 — Comparación de algoritmos supervisados Este bloque aborda la selección razonada de algoritmos. Se comparan familias de modelos —regresión logística y regresión lineal como representantes lineales, árboles de decisión, Random Forest y Gradient Boosting como representantes basados en árboles— analizando su comportamiento en función del tamaño del dataset, la dimensionalidad, el balance de clases y los requisitos de interpretabilidad. El participante aprende a estructurar una comparación reproducible y a documentar la justificación de la elección final.

Bloque 3 — Validación cruzada estratificada y diagnóstico de modelos Se introduce StratifiedKFold y cross_val_score como herramientas para estimar el rendimiento generalizable de un modelo. El bloque incluye la interpretación de la media y la desviación estándar de las puntuaciones para diagnosticar varianza o sesgo, y dedica una sesión específica a la detección y corrección de data leakage: se examinan flujos de trabajo con leakage deliberado, se identifica la causa raíz y se aplica la corrección integrando el preprocesado dentro del pipeline.

Bloque 4 — Métricas avanzadas y estrategia de evaluación Partiendo de los límites de la exactitud como métrica por defecto, este bloque desarrolla la capacidad de seleccionar métricas acordes al problema. Se trabajan F1-macro, ROC-AUC y métricas de regresión (R², MAE) en escenarios de desbalance de clases y asimetría en el coste de error, practicando la justificación explícita del descarte de métricas inadecuadas y la configuración del scoring correspondiente en las utilidades de validación de scikit-learn.

Bloque 5 — Búsqueda de hiperparámetros e interpretabilidad El bloque de cierre integra la optimización de modelos y el análisis de la importancia de variables. Se diseñan búsquedas con GridSearchCV y RandomizedSearchCV embebidas en pipelines completos, definiendo espacios de búsqueda que incluyen hiperparámetros del preprocesador y del estimador. Se justifica la elección entre ambas estrategias según el tamaño del espacio y el presupuesto computacional. A continuación, se comparan los valores de feature_importances_, los coeficientes de modelos lineales y permutation_importance, identificando discrepancias entre métodos y extrayendo conclusiones sobre las limitaciones de cada uno para la toma de decisiones final sobre el modelo.

  • Python 3.9 o superior.
  • scikit-learn 1.4 o superior (se utilizan APIs estables de Pipeline, ColumnTransformer, GridSearchCV y permutation_importance).
  • pandas 1.5 o superior y NumPy 1.24 o superior.
  • matplotlib 3.7 o superior y seaborn 0.12 o superior para visualización de resultados.
  • Jupyter Notebook o JupyterLab (recomendado) o cualquier entorno compatible con notebooks .ipynb.
  • Gestor de paquetes pip o conda para instalación y gestión de dependencias.
  • Mínimo 8 GB de RAM recomendados para la ejecución de búsquedas de hiperparámetros con validación cruzada sobre datasets de tamaño medio.
  • Acceso a Internet para la descarga de datasets de ejemplo desde sklearn.datasets u OpenML durante las sesiones prácticas.

Para aprovechar este curso es necesario haber completado SCL01 — Scikit-learn Iniciación o contar con un dominio equivalente de los siguientes conceptos y habilidades:

  • Separación de datos en conjuntos de entrenamiento y prueba con train_test_split.
  • Ajuste y predicción con estimadores básicos de scikit-learn (p. ej. LinearRegression, LogisticRegression, DecisionTreeClassifier).
  • Transformaciones de preprocesado habituales: StandardScaler, MinMaxScaler, SimpleImputer, OneHotEncoder.
  • Evaluación de modelos con métricas estándar: exactitud, precisión, recall, RMSE.
  • Manejo fluido de DataFrames con pandas y operaciones básicas de NumPy.
  • Entorno de trabajo con Python 3.9+ y Jupyter Notebook/Lab.