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úster, evaluación diferida (lazy evaluation), DAG (grafo acíclico dirigido) 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).
- 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 de tiempo 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 de shuffle, almacenamiento en caché (caching) y persistencia.
- Uso de técnicas de optimización, incluidas uniones por broadcast y análisis del plan de ejecución.
- Procesamiento eficiente de grandes conjuntos de datos y mejores prácticas para flujos de datos escalables.
- Comprensión de la evolución del esquema y 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 el patrón de Estimator/Transformer.
- 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 Aprendizaje Automático 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 conjuntos de entrenamiento/validación/prueba.
- Realización de validación cruzada y ajuste de hiperparámetros mediante búsqueda en cuadrícula (grid search) y búsqueda aleatoria.
- Estructuración de experimentos de Aprendizaje Automación reproducibles.
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 sobre 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 de Producción y Entornos 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 al versionado, conceptos de 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 los siguientes conocimientos previos:
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 conceptos de datos relacionales.
Comprensión introductoria de los conceptos de 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 o bibliotecas similares de procesamiento de datos es útil, pero no obligatoria.
Testimonios (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