Curso: Computación Paralela y Distribuida con Julia para Ciencia de Datos

crd-image

neboda

Este curso incluye:

  • Idioma - EspañolIdioma - Español
  • PC, tablet o móvilPC, tablet o móvil
  • Modo: Presencial/OnlineModo: Presencial/Online

 

  • Descripción curso

    Julia es un lenguaje de programación de alto rendimiento, diseñado especialmente para la computación técnica y científica.

    Es conocido por su velocidad, que se acerca a la de los lenguajes compilados como C, pero con la facilidad y sencillez de lenguajes dinámicos como Python.

    Además, Julia es muy versátil y fácil de usar, lo que la hace popular entre investigadores, ingenieros y científicos que necesitan realizar cálculos complejos de manera eficiente.

    ¡Es una excelente opción si buscas un lenguaje potente y amigable para tareas matemáticas y analíticas!

  • Temario curso

     

    Tema 1: Julia en Data Science

    • Introducción a la ciencia de datos.
      • Definición de Data Science.
      • La necesidad de automatización de tareas.
      • Introducción a las estadísticas.
      • Presentamos el aprendizaje automático.
    • Dibujar correlaciones a partir de datos sin procesar.
    • Explicación de la necesidad del análisis de datos.
    • Presentamos a Julia.
      • Asombroso lenguaje de Julia!.
    • Julia: Ideal para el análisis de datos.
    • Limitaciones de Julia.

     

    Tema 2: Primeros pasos con Julia

    • Instalación y configuración de Julia.
      • Trabajar con los IDE de Julia.
      • Usando Julia REPL.
      • Uso de IDE.
      • Uso de Notebook.
    • Gerente de paquetes de Julia: Paquete.
      • Entornos de proyectos.
      • Trabajando en modo Pkg REPL.
    • Manejo de entornos de proyectos.
      • Manejo de datos numéricos en Julia.
      • Declaración de variables.
      • Nombres de variables aceptables en Julia.
      • Enlazado vs Copiar en variables mutables.
      • Construcción de flujos de control.
      • Evaluación bajo condiciones.
      • Evaluación de cortocircuitos.
      • Manejo de excepciones.
      • Bucles (evaluación repetida).
      • Expresiones en forma compuesta.
      • Definición de funciones.

     

    Tema 3: Características que ayudan a escalar proyectos de ML

    • Revisando las funciones en Julia.
      • La palabra clave function-end.
      • El nombre de la función.
      • Los argumentos utilizados en la función.
      • El cuerpo de la función.
      • La declaración return de la función.
    • Argumentos posicionales y de palabras clave.
    • Argumentos de paso en Julia.
    • Sintaxis corta para escribir funciones en Julia.
    • Sistema de tipos en Julia.
      • Jerarquía en el sistema de tipos de Julia.
      • Varios tipos de datos en Julia.
    • Despacho múltiple en Julia.
    • Gestión de la estructura del código en Julia.
    • Uso de macros.

     

    Tema 4: Estructuras de datos en Julia

    • Matrices en Julia.
    • Estructura de datos de tupla en Julia.
    • Asignación de valor a sus claves.
    • Establecer estructura de datos en Julia.
    • Operaciones sobre estructuras de datos de Julia.
      • Matrices.
      • Tuplas.
      • Diccionarios.
      • Sets.
      • Mapa.
      • Reducir.
      • Filtro.
      • Radiodifusión.
    • Ejemplo de subtipificación de módulos.
    • Integración con Python.
    • Integración con R.

     

    Tema 5: Trabajar con conjuntos de datos en Julia

    • Obtención e inspección de datos en Julia.
      • Adquisición de datos de Julia.
      • Acceso a datos de una base de datos.
      • Inspección de datos en Julia.
      • DataFrames en Julia.
      • Guardar archivos de texto.
      • Paquetes para TextAnalysis.
      • Visualización del DataFrame.
    • Trabajar con cadenas.
      • Lectura de un archivo de texto.
      • División de cadena de texto.
      • Expresiones regulares.
    • Datos temporales.
      • Manejo de datos faltantes.
      • Manejo de datos temporales.
    • Un problema de ciencia de datos.

     

    Tema 6: Fundamentos de la estadística

    • Estadísticas en Julia.
    • Estadística descriptiva y su finalidad.
    • Resumen de las principales medidas de estadística descriptiva.
    • Detección y tratamiento de valores atípicos en el análisis de datos.
    • Métodos de distancia en StatsBase.jl.
    • Métodos de muestreo y recuento.
      • Métodos de conteo.
      • Métodos de muestreo.
    • Relación entre varias entidades del dataset durante el análisis de datos.
    • Funciones estadísticas diversas que ayudan en el análisis de datos.
    • Estimación observacional en el análisis de datos.

     

    Tema 7: Distribuciones de datos de probabilidad

    • Introducción a la probabilidad.
    • Introduciendo el paquete de probabilidad en Julia.
    • Presentamos el paquete Distributions.jl.
    • Funciones comunes en distribuciones.
      • Jerarquía de tipos.
      • Recuperación de parámetros.
      • Muestreo.
      • Cálculo de estadísticas.
      • Estimación de probabilidades.
      • Inspección de dimensiones.
    • Distribución de probabilidad univariada.
    • Distribución de probabilidad censurada.
    • Distribución de probabilidad truncada.
      • Diferencia entre distribuciones de probabilidad censuradas y truncadas.
    • Distribución de probabilidad multivariante.
    • Distribución de probabilidad de matriz variable.
    • Modelos de mezcla en Distributions.jl.
    • Modelos de mezcla y convoluciones en Distributions.jl.
    • Ajuste de una distribución de probabilidad.

     

    Tema 8: Encuadre de datos en Julia

    • Presentación del paquete DataFrames.jl.
    • Configuración del entorno.
    • Construcción de objetos DataFrame.
    • Obtención de datos.
    • Inspección de datos.
    • Principales marcos de manipulación de datos en Julia.
      • DataFramesMeta.jl.
      • DataFrameMacros.jl.
      • Query.jl.
    • Comparación con otros marcos lingüísticos.
      • Comparando con pandas: un marco de Python.
      • Comparando con dplyr -un framework R.

     

    Tema 9: Trabajar con datos en DataFrames

    • Faltan datos en DataFrames.
      • Faltan valores en Julia.
    • Ordenar datos en DataFrames.
      • Ordenar un vector.
      • Ordenar un DataFrame.
    • Remodelación de datos en DataFrames.
      • Remodelando los datos en Julia.
    • Datos categóricos en DataFrames.
    • Unión de datos en DataFrames.
    • Dividir-aplicar-combinar datos en DataFrames.

     

    Tema 10: Visualizando datos en Julia

    • Presentamos Plot.jl.
    • Instalación de Plots.jl.
    • Plots.jl.
    • Atributos en el trazado.
    • Diagramas de dispersión en Plots.jl.
    • Trazado de backends.
    • Subtramas en Plots.jl.
    • Recetas en Plots.jl.
      • Uso de recetas de Statsplots.jl.
    • Gráficos de contorno.
    • Histogramas en Plots.jl.
      • Histogramas ponderados.
      • Histogramas apilados.
      • Histogramas superpuestos.
      • Histogramas acumulativos.
      • Histogramas 2D.

     

    Tema 11: Introducción al aprendizaje automático en Julia

    • La necesidad del aprendizaje automático.
    • Presentamos el aprendizaje automático.
    • MLJ.jl: la biblioteca de aprendizaje automático de Julia.
    • Especialidades de MLJ.jl.
    • Manejo de datos en MLJ.jl.
      • Contenedores de datos y Scitypes.
      • Manejo de datos 2D en MLJ.
      • Scitypes de datos.
    • Generating data.
      • Datos de regresión.
      • Datos categóricos.
      • Manejo de datos categóricos.
      • Tipo científico de datos correcto para datos categóricos.
      • Cambiar el tipo incorrecto de los datos categóricos.
      • Seguimiento de todas las categorías.
      • Preparación de datos.
      • División de datos.
      • Abordaje de la ciencia no coincidente del modelo de datos.
      • Pesos.
    • Modelos.
      • Búsqueda de modelos.
      • Modelos de bodegas.
      • Coincidencia de modelos.
      • Cargando modelos.
    • Revisando los pesos.
    • Preprocesamiento de datos mediante transformadores en MLJ.

     

    Tema 12: Datos y Modelos

    • Interfaz de modelo en MLJ.jl.
      • Representación de modelos.
      • Modelo supervisado.
      • Modelos definidos por el usuario en MLJ.
      • Represor determinista.
      • Regresor probabilístico.
      • ¡Encajando un modo!
      • Método de predicción.
      • Pérdidas de formación.
      • Importancia de las características.
      • ¡Actualizar! Método.
      • Método de transformación.
      • Modelos con una distribución de probabilidad.
      • Serialización.
    • La necesidad de un frontend de datos para MLJ.
      • Frontend de datos para MLJ.
    • Máquinas en MLJ.
    • Composición del modelo.
    • Medidas de desempeño en MLJ.jl.
      • Medidas de rendimiento integradas.
      • Medidas de rendimiento personalizadas.
      • Medidas de evaluación del modelo.
      • Evaluación del rendimiento del modelo en un conjunto de exclusión.
      • Evaluar el rendimiento del modelo a lo largo del tiempo.
      • Ajuste del modelo.
      • Criterios comunes de parada.
      • Regularización.
      • Interpretar las curvas de aprendizaje.
      • Uso de curvas de aprendizaje para mejorar los modelos.

     

    Tema 13: Estadística y modelado bayesiano

    • Inferencia bayesiana.
    • Diferencia entre el teorema de Bayes y los métodos estadísticos frecuentistas.
    • Conceptos básicos de la estadística bayesiana.
    • Cálculo de la distribución posterior.
    • Hacer inferencias a partir de la distribución posterior.
    • Modelos bayesianos.
    • Varios modelos bayesianos.
    • Regresión lineal bayesiana.
    • Regresión logística bayesiana.
    • Redes bayesianas.
    • Procesos gaussianos.
    • Redes neuronales bayesianas.
    • Construyendo un modelo bayesiano.
    • Modelado bayesiano en Julia.
    • Manipulación de datos discretos con enfoque bayesiano.
    • Manipulación de datos categóricos con enfoque bayesiano.
    • Modelo de variable latente del proceso gaussiano.
    • Otros modelos bayesianos.

     

    Tema 14: Computación paralela en Julia

    • Computación paralela en Julia.
    • Programación asíncrona.
    • Tareas asincrónicas en Julia.
    • Operaciones de tareas.
      • Ceder para funcionar en las tareas.
      • Programador en Julia.
    • Conexión a través de canales en Julia.
    • Multi-hilo.
      • Múltiples hilos en Julia.
      • Grupos de subprocesos.
      • Comunicación y sincronización en Julia.
      • ©Macro de subprocesos.
      • Operaciones atómicas.
      • Atómicos per-fieid.
      • Efectos secundarios del uso de hilos.
      • ©threadcall.
      • Migración de tareas.
      • Use ofinizantes.
    • Acelerar los flujos de trabajo de ciencia de datos.
    • Usando el poder de JuliaHub.

     

    Tema 15: Computación distribuida en Julia

    • Computación distribuida en Julia.
      • Aprovechando la fuerza de muchos.
      • Una nueva visión de la transmisión de mensajes.
      • Referencias remotas: cerrando la brecha.
      • Llamadas remotas: ejecución desde lejos.
      • Identidad del proceso y modelo de trabajador.
      • Abrazar el paralelismo: una guía práctica.
    • Ejecución asíncrona y programación cooperativa de tareas en Julia.
      • La magia del almacenamiento en caché del futuro.
      • Multitarea cooperativa: el ©enfoque asíncrono y ©sincronizado.
      • Tareas del alimentador y ©asíncronas.
      • ©sync: Sincronización coordinada.
      • Compartir el estado y la multitarea cooperativa.
      • Cambio de contexto consciente.
      • Preparándose para futuras innovaciones.
    • Carga de paquetes en Computación Distribuida.
    • Gestión de procesos.
    • Transferencia de datos en computación distribuida.
    • Variables en computación distribuida.
    • Mapas y bucles.
    • Referencias y canales.
    • Recolección de basura distribuida.
      • Invocaciones locales en computación distribuida.
    • Matrices compartidas.
    • Administradores de clústeres.