Temario del curso
PySpark y Aprendizaje Automático
Módulo 1: Fundamentos de Big Data y 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 usar cada enfoque
- Creación y configuración de SparkSession y comprensión de los fundamentos de configuración de aplicaciones
Módulo 2: DataFrames en PySpark
- Lectura y escritura de datos desde fuentes y formatos empresariales (CSV, JSON, Parquet, Delta)
- Trabajo con DataFrames de PySpark: transformaciones, acciones, expresiones de columnas, filtrado, uniones y agregaciones
- Implementación de operaciones avanzadas como funciones de ventana, manejo de marcas temporales y trabajo con datos anidados
- Aplicación de controles de calidad de datos y escritura de código PySpark reutilizable y mantenible
Módulo 3: Procesamiento eficiente de grandes conjuntos de datos
- Comprensión de los fundamentos del rendimiento: estrategias de particionamiento, comportamiento del shuffle (mezcla), caché y persistencia
- Uso de técnicas de optimización que incluyen uniones difusas (broadcast joins) y análisis del plan 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 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 nulos, 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 el 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 distribuidos
Módulo 6: Pipelines de ML de extremo a extremo
- Construcción de pipelines de Aprendizaje Automático de extremo a extremo que combinan preprocesamiento, ingeniería de características y modelado
- Aplicación de estrategias de división de datos en entrenamiento/validación/prueba
- Realización de validación cruzada y ajuste de hiperparámetros utilizando búsqueda en cuadrícula (grid search) y búsqueda aleatoria (random search)
- Estructuración de experimentos reproducibles de Aprendizaje Automático
Módulo 7: Evaluación de modelos y toma de decisiones prácticas en ML
- Aplicación de 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 en la selección de modelos
- Interpretación de la importancia de las características y comprensión del comportamiento del modelo
Módulo 8: Prácticas en producción y entornos empresariales
- Persistencia y carga de modelos en Spark
- Implementación de flujos de trabajo de inferencia por lotes sobre grandes conjuntos de datos
- Comprensión del ciclo de vida del Aprendizaje Automático en entornos empresariales
- Introducción a la versionado, conceptos de seguimiento de experimentos y estrategias básicas de pruebas
Resultado práctico
- Capacidad para trabajar de manera 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 bagaje:
Conocimientos básicos de programación en Python, incluyendo el uso de funciones, estructuras de datos y librerías
Comprensión fundamental de conceptos de análisis de datos como conjuntos de datos, transformaciones y agregaciones
Conocimientos básicos de SQL y conceptos relacionados con 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 librerías similares de procesamiento de datos es útil pero 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