Maestría en Ciencia de Datos
Primer Bloque: Otoño

Programación para Ciencia de Datos

Estadística Computacional

Objetivos:

El objetivo es conocer las etapas que forman parte de un proyecto de Ciencia de Datos; poder definir correctamente un proyecto de Ciencia de Datos; conocer las implicaciones en la toma de decisiones de cada etapa de un proyecto de Ciencia de Datos; conocer las métricas de desempeño off-line/on-line de un modelo predictivo así como las implicaciones de la selección correcta y cuantificar el sesgo e inequidad de los modelos construidos.

Temario

1. Manipulación de datos desde la línea de comandos
1.1 Archivos y directorios
1.2 Filosofía UNIX
1.3 Movimiento en la terminal
1.4 Pipes y Redirecciones
1.5 Comandos útiles: seq, tr, wc, head, tail, cat, uniq, cut, sort
1.6 Jobs
1.7 file, iconv, od
1.8 Expresiones regulares
1.9 Analizando datos: grep, awk, sed
1.10 Bash programming

2. Controladores de versiones
2.1 Configuración de git
2.2 Solo Workflow
2.3 Github Workflow
2.4 Branches
2.5 Pus, Pull y Pull request
2.6 Merges
2.7 Tags

3. Desarrollo de software para productos de datos
3.1 El código es para comunicarse con humanos: Buenas prácticas en programación
3.2 Paradigmas de programación: Procedural, Orientado a Objetos, Funcional, Lógico/Declarativo, Spaghetti code/
3.3 Diseño semántico
3.4 Implementación de un simulador
3.5 Pruebas en Ciencia de datos
3.6 Reproducibilidad: Buenas prácticas
3.7 Reproducibilidad: Ambientes
3.8 Reproducibilidad: Máquinas virtuales y Contenedores

4. Almacenar datos: Bases de datos y SQL
4.1 ¿Por qué usarlas?
4.2 Bases de datos relacionales
4.3 Data model
4.4 Introducción a SQL
4.5 SQL Avanzado
4.6 SQL para Ciencia de Datos: Feature engineering
4.7 Diseño de esquemas para un producto de datos
4.8 SQL para datos espaciales: GIS
4.9 Comparación con bases NOSQL

5. Escalar ejecución de código
5.1 Limitaciones
5.2 Tipos de escalamiento
5.3 GNU/Parallel usando CPUs
5.4 Sólo Python: Dask
5.5 Usando la herramienta adecuada: diseño de solución

6. Pipeline
6.1 Pipelines en productos de datos
6.2 Solución naïve: Limitaciones
6.3 Luigi, AirFlow

7. Escalar en la nube
7.1 La nube: conceptos y herramientas
7.2 GNU/Parallel usando la nube
7.3 Ejecución batch
7.4 Ejecución on-line
7.5 Serverless



El programa de la Maestría en Ciencia de Datos es una iniciativa del ITAM para satisfacer la creciente demanda nacional e internacional de profesionistas con conocimientos sólidos en el modelado a partir de datos (en especial grandes datos) para ayudar a la toma de decisiones estratégicas.