Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Scikit-learn — Avanzado

10h 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

Dirigido a científicos de datos y profesionales de machine learning que ya dominan el flujo de trabajo estándar de Scikit-learn y necesitan dar el salto hacia el diseño de sistemas de modelado robustos, reutilizables y listos para producción. A lo largo de las diez horas del curso, el participante aprenderá a arquitecturar pipelines de extremo a extremo que integren preprocesamiento heterogéneo y estimadores personalizados, a aplicar estrategias avanzadas de validación cruzada adaptadas al tipo de dato, a optimizar hiperparámetros mediante búsquedas sistemáticas con validación anidada, y a evaluar y comparar múltiples familias de modelos con criterios técnicos y de negocio. Al finalizar, el participante será capaz de tomar decisiones razonadas de despliegue considerando el equilibrio entre rendimiento predictivo, coste computacional e interpretabilidad, y de justificar esas decisiones con evidencia cuantitativa generada dentro del propio pipeline.

  1. Comprender el impacto del sesgo-varianza en el rendimiento de un modelo y la función de las curvas de aprendizaje y de validación como herramientas diagnósticas.
  2. Comprender los criterios que determinan la elección de una estrategia de validación cruzada en función de la estructura del dato —series temporales, clases desbalanceadas o grupos independientes— y las consecuencias de aplicar el splitter por defecto de forma indiscriminada.
  3. Comprender el marco conceptual detrás de las métricas alternativas a la exactitud en escenarios de clasificación desbalanceada, identificando cómo la distribución de clases y el coste asimétrico de errores condicionan la selección de F1-macro, AUC-PR o MCC.
  4. Arquitecturar un Pipeline de extremo a extremo que integre preprocesamiento heterogéneo mediante ColumnTransformer y un estimador final, garantizando la ausencia de data leakage en validación cruzada.
  5. Implementar transformadores personalizados compatibles con la API de Scikit-learn, encapsulando lógica de negocio específica y verificando su integración correcta dentro de un pipeline.
  6. Arquitecturar estrategias de validación cruzada avecuadas al tipo de dato, seleccionando y justificando el uso de TimeSeriesSplit, StratifiedKFold o GroupKFold según el contexto.
  7. Optimizar los hiperparámetros de un pipeline completo aplicando al menos dos estrategias de búsqueda —incluyendo búsqueda bayesiana— y validación anidada para obtener estimaciones de rendimiento no sesgadas.
  8. Automatizar la comparación sistemática de múltiples familias de modelos registrando métricas, hiperparámetros óptimos y tiempos de entrenamiento para seleccionar el candidato final con justificación técnica.
  9. Evaluar críticamente la importancia de características combinando permutation_importance con técnicas complementarias y contrastando las conclusiones entre métodos.
  10. Integrar los conocimientos adquiridos para tomar decisiones razonadas de despliegue que equilibren rendimiento predictivo, coste computacional e interpretabilidad frente a restricciones reales de negocio.

Bloque 1 — Diagnóstico de modelos y selección de métricas. El curso arranca estableciendo el marco teórico del compromiso sesgo-varianza y su manifestación práctica en las curvas de aprendizaje y de validación generadas con learning_curve y validation_curve. A partir de esos diagnósticos visuales, el participante aprende a ajustar la complejidad del estimador de forma informada. Paralelamente, se aborda la evaluación en escenarios de clasificación desbalanceada: se analizan las limitaciones de la exactitud como única métrica y se razona la elección de alternativas como F1-macro, AUC-PR y MCC en función de la distribución de clases y el coste asimétrico de errores.

Bloque 2 — Pipelines robustos y transformadores personalizados. El grueso del trabajo procedimental comienza con la arquitectura de pipelines de extremo a extremo que combinan ColumnTransformer para el preprocesamiento heterogéneo y un estimador final, poniendo especial énfasis en garantizar que ninguna transformación produzca data leakage durante la validación cruzada. Sobre esa base, el participante implementa transformadores personalizados que heredan de BaseEstimator y TransformerMixin, encapsulando lógica de negocio específica y verificando su compatibilidad con la API mediante clone() y set_params.

Bloque 3 — Validación cruzada adaptada al tipo de dato. No todos los conjuntos de datos admiten el mismo esquema de validación. Este bloque enseña a seleccionar el splitter correcto —TimeSeriesSplit para series temporales, StratifiedKFold para clases desbalanceadas y GroupKFold cuando existen grupos independientes— y a construir el argumento técnico que justifica por qué el splitter por defecto sería inadecuado en cada contexto.

Bloque 4 — Optimización de hiperparámetros y comparación de modelos. Con los pipelines y los esquemas de validación en su lugar, el participante aborda la búsqueda sistemática de hiperparámetros mediante GridSearchCV, RandomizedSearchCV y búsqueda bayesiana, aplicando validación anidada para obtener estimaciones de rendimiento no sesgadas. La optimización se escala a la comparación simultánea de al menos tres familias de modelos: se automatizan los experimentos registrando métricas, hiperparámetros óptimos y tiempos de entrenamiento, y se construye un protocolo reproducible para seleccionar el candidato final.

Bloque 5 — Interpretabilidad y decisión de despliegue. El curso cierra con la evaluación crítica de la importancia de características, contrastando los resultados de permutation_importance con técnicas complementarias como importancia basada en impureza, coeficientes lineales o SHAP externo. Las discrepancias entre métodos se convierten en un argumento más para la decisión final de despliegue, que debe equilibrar rendimiento predictivo, coste computacional e interpretabilidad frente a restricciones reales de negocio como latencia máxima, tamaño del modelo y nivel de explicabilidad requerido.

  • Python 3.10 o superior.
  • Scikit-learn 1.4 o superior.
  • Entorno de desarrollo: Jupyter Lab / Jupyter Notebook o VS Code con extensión de Jupyter.
  • Bibliotecas adicionales: pandas, numpy, matplotlib, seaborn (para visualización de curvas), scikit-optimize o optuna (para búsqueda bayesiana) y, opcionalmente, shap para el bloque de interpretabilidad.
  • Acceso a un entorno con al menos 8 GB de RAM recomendados para los experimentos de comparación de modelos.
  • Dominio del flujo de trabajo estándar de Scikit-learn: preprocesamiento básico, entrenamiento, evaluación y validación cruzada con cross_val_score (cubiertos en SCL02).
  • Familiaridad con las principales familias de modelos supervisados —regresión, clasificación y ensambles— y sus hiperparámetros más relevantes.
  • Manejo fluido de NumPy y pandas para manipulación de datos tabulares.
  • Conocimientos básicos de Python orientado a objetos: definición de clases, herencia y métodos.