Temario del curso
PySpark & Aprendizaje Automático
Módulo 1: Fundamentos de Big Data & Spark
- Visión general del ecosistema de Big Data y el papel de Spark en las plataformas de datos modernas.
- Comprensión de la arquitectura de Spark: controlador (driver), ejecutores, gestor de clústeres, evaluación perezosa (lazy evaluation), DAG y planificación de ejecución.
- Diferencias entre las APIs de RDD y DataFrame, y cuándo utilizar cada enfoque.
- Creación y configuración de SparkSession, y comprensión de los fundamentos de la configuración de aplicaciones.
Módulo 2: DataFrames de PySpark
- Lectura y escritura de datos desde fuentes y formatos empresariales (CSV, JSON, Parquet, Delta).
- Manipulación de DataFrames de PySpark: transformaciones, acciones, expresiones de columnas, filtros, uniones y agregaciones.
- Implementación de operaciones avanzadas, como funciones de ventana (window functions), manejo de marcas de tiempo y trabajo con datos anidados.
- Aplicación de verificaciones de calidad de datos y escritura de código PySpark reutilizable y mantenible.
Módulo 3: Procesamiento Eficiente de Conjuntos de Datos Grandes
- Comprensión de los fundamentos del rendimiento: estrategias de particionado, comportamiento del shuffle (mezcla), almacenamiento en caché y persistencia.
- Uso de técnicas de optimización, incluidas uniones difusas (broadcast joins) y análisis de planes de ejecución.
- Procesamiento eficiente de grandes conjuntos de datos y mejores prácticas para flujos de trabajo de datos escalables.
- Comprensión de la evolución del esquema (schema evolution) y de los formatos de almacenamiento modernos utilizados en entornos empresariales.
Módulo 4: Ingeniería de Características a Escala
- Realización de ingeniería de características con Spark MLlib: manejo de valores faltantes, codificación de variables categóricas y escalado de características.
- Diseño de pasos de preprocesamiento reutilizables y preparación de conjuntos de datos para pipelines de aprendizaje automático.
- Introducción a la selección de características y manejo de conjuntos de datos desbalanceados.
Módulo 5: Aprendizaje Automático con Spark MLlib
- Comprensión de la arquitectura de MLlib y del patrón Estimador/Transformador.
- Entrenamiento de modelos de regresión y clasificación a escala (Regresión Lineal, Regresión Logística, Árboles de Decisión, Bosques Aleatorios).
- Comparación de modelos e interpretación de resultados en flujos de trabajo de aprendizaje automático distribuido.
Módulo 6: Pipelines de ML de Extremo a Extremo
- Construcción de pipelines de aprendizaje automático de extremo a extremo, combinando preprocesamiento, ingeniería de características y modelado.
- Aplicación de estrategias de división de conjuntos en entrenamiento/validación/prueba.
- Realización de validación cruzada y ajuste de hiperparámetros mediante búsqueda por cuadrícula (grid search) y búsqueda aleatoria.
- Estructuración de experimentos de aprendizaje automático reproducibles.
Módulo 7: Evaluación de Modelos & Toma de Decisiones Prácticas en ML
- Aplicación de las métricas de evaluación adecuadas para problemas de regresión y clasificación.
- Identificación de sobreajuste (overfitting) e insuficiente ajuste (underfitting), y toma de decisiones prácticas sobre la selección del modelo.
- Interpretación de la importancia de las características y comprensión del comportamiento del modelo.
Módulo 8: Prácticas de Producción & Empresariales
- Persistencia y carga de modelos en Spark.
- Implementación de flujos de trabajo de inferencia por lotes (batch inference) sobre grandes conjuntos de datos.
- Comprensión del ciclo de vida del aprendizaje automático en entornos empresariales.
- Introducción a los conceptos de versionado, seguimiento de experimentos y estrategias básicas de pruebas.
Resultado Práctico
- Capacidad para trabajar de forma autónoma con PySpark.
- Capacidad para procesar grandes conjuntos de datos de manera eficiente.
- Capacidad para realizar ingeniería de características a escala.
- Capacidad para construir pipelines de aprendizaje automático escalables.
Requerimientos
Los participantes deben contar con el siguiente conocimiento previo:
Conocimientos básicos de programación en Python, incluyendo el manejo de funciones, estructuras de datos y bibliotecas.
Comprensión fundamental de conceptos de análisis de datos, como conjuntos de datos, transformaciones y agregaciones.
Conocimientos básicos de SQL y de los conceptos de datos relacionales.
Comprensión introductoria de los conceptos del aprendizaje automático, como conjuntos de datos de entrenamiento, características y métricas de evaluación.
Se recomienda familiaridad con entornos de línea de comandos y prácticas básicas de desarrollo de software.
La experiencia con Pandas, NumPy u otras bibliotecas similares de procesamiento de datos es útil, aunque no obligatoria.
Reseñas (1)
Me gustó que fuera práctico. Amé aplicar el conocimiento teórico con ejemplos prácticos.
Aurelia-Adriana - Allianz Services Romania
Curso - Python and Spark for Big Data (PySpark)
Traducción Automática