Laboratorio Computacional de Analytics

brightness_1 incomplete_circle public

Banner del curso

I. ¿Cuál es el propósito de este curso?

La analítica de datos es un campo de acción profesional que, por su potencial para mejorar la toma de decisiones, ha mostrado un crecimiento significativo en lo que va del siglo, si bien no se trata de una disciplina completamente madura. Los avances en esta área vienen siendo desarrollados por personas con variados perfiles profesionales y tienen aplicación en diversas industrias. Por esto, hay una alta heterogeneidad en el tipo de formación y experiencia de quienes ingresan a programas académicos en analítica de datos. No es inusual encontrar personas que provienen de profesiones no enfocadas en el razonamiento cuantitativo, personas que no han tenido experiencia sobre lo que implica un proyecto de analítica de datos, o personas que no han tenido un acercamiento a las herramientas tecnológicas y de computación que se necesitan en esta área.

El Laboratorio Computacional de Analytics es un curso diseñado como una primera experiencia en analítica de datos para esta población heterogénea, teniendo como foco principal el desarrollo de habilidades prácticas de programación. Su principal propósito es ofrecer una visión general del quehacer del profesional en analítica de datos y garantizar que quien lo tome esté en capacidad de utilizar la programación como una herramienta cotidiana para actividades críticas de los proyectos de analítica de datos. Así, partimos de entender la lógica y procesos propios de un proyecto de analítica de datos, entender el rol de la programación en ese contexto, y nos concentramos en aplicar estos conceptos al desarrollo de herramientas computacionales que den soporte adecuado al proyecto del cual hacen parte.

Para lograrlo, daremos un vistazo al proceso de identificar oportunidades de aplicación de la analítica de datos en las organizaciones y sintetizarlas en preguntas de negocio relevantes. Luego, nos enfocaremos en diseñar los procesos necesarios para dar respuesta a esas preguntas, pasando por explorar y alistar los datos, así como por elegir y evaluar modelos matemáticos. Trabajaremos con preguntas, datos y modelos para que el foco esté en ganar familiaridad con el proceso y afianzar las habilidades de programación y diseño de herramientas analíticas, articuladas siempre con una pregunta de negocio.

Este no es un curso de programación sino un curso sobre cómo poner la programación al servicio de un proyecto de analítica. En ese sentido, como equipo docente, nuestra misión es proveerte una ruta, una serie de recursos, y el acompañamiento necesario para que:

  • Interiorices de forma práctica los conceptos y procesos fundamentales de la analítica de datos.

  • Implementes una herramienta analítica que permita responder una pregunta de negocio para un problema sencillo de analítica de datos, utilizando únicamente algorítmica básica en Python.

  • Implementes una herramienta analítica que permita responder una pregunta de negocio para un problema sencillo de analítica de datos, utilizando los paquetes especializados para análisis de datos disponibles en Python.

II. ¿Cómo se desarrollan estos objetivos en el curso?

1. Interiorizar de forma práctica los conceptos y procesos fundamentales de la analítica de datos


El propósito de esto es:

Que quede claro que la analítica de datos se trata de una combinación de procesar datos y comunicarse continuamente con los actores involucrados.

Semana 1:

  • Video: "¿Por qué todos hablan de datos?".
  • Podcast: "¿Qué papel juega la programación en analítica de datos?".

Para lograrlo, en este curso:

Te introducimos a los dominios que constituyen un proyecto típico de analítica de datos, según la asociación profesional más grande en el área.

Semana 2:

  • Video: "Pasos típicos de proyectos analíticos".
  • Lectura: "El diseño en la analítica y la algorítmica".

Te orientamos a lo largo de dos prácticas de laboratorio en las que te enfrentas a problemas sencillos de analítica de datos que implican la articulación de estos dominios en el desarrollo de una pequeña herramienta de software.

  • Laboratorio 1: "Desarrollar una herramienta analítica utilizando algorítmica en Python"
  • Laboratorio 2: "Desarrollar una herramienta analítica utilizando paquetes especializados para análisis de datos en Python"

2. Implementar una herramienta analítica que permita responder una pregunta de negocio para un problema sencillo de analítica de datos, utilizando únicamente algorítmica básica en Python.


La principal actividad para desarrollar este objetivo es el Laboratorio 1, que se realiza durante las primeras cuatro semanas del curso y busca asegurar que te puedes desenvolver aplicando programación básica en el contexto de analítica de datos.

El propósito de esto es:

  1. Que relaciones el proceso lógico de los dominios de un proyecto de analítica de datos con el proceso lógico de desarrollar algoritmos que permiten la implementación real del proyecto.

(Podcast 2: ¿Qué tiene que ver el diseño con la algorítmica y la analítica de datos?.)

  1. Que tengas la oportunidad de refrescar tus conocimientos de programación (en general y en Python), o de consolidarlos si apenas te inicias en ella.

Para lograrlo, en este curso:

  1. Te ofrecemos material introductorio a Python y el ecosistema de herramientas su alrededor, enfatizando sus ventajas en cuanto a facilidad de uso y posibilidad de especialización en diferentes contextos (Podcast 3: "¿Por qué Python?").

  1. Repasamos los conceptos fundamentales de algorítmica y programación con una orientación a su uso en analítica de datos. Esto incluye:

    1. El manejo de Jupyter, la herramienta que usaremos durante el curso.

    (Tutorial 1).

    1. Estructuras de datos básicas de Python.

    (Video 3, Tutorial 2, Taller 2, Quiz 2).

    1. Estructuras de control básicas de Python.

    (Video 3, Tutorial 3, Taller 3, Quiz 3).

    1. Algorítmica y sintaxis de funciones.

    (Tutorial 4, Taller 4).

    1. Manejo de archivos externos.

    (Tutorial 5, Taller 5).

    1. Manejo de paquetes y graficación básica.

    (Tutorial XX, Taller XX). (¿PENDIENTE?)

3. Implementar una herramienta analítica que permita responder una pregunta de negocio para un problema sencillo de analítica de datos, utilizando los paquetes especializados para análisis de datos disponibles en Python.


La principal actividad para desarrollar este objetivo es el Laboratorio 2, que se realiza durante las últimas cuatro semanas del curso y busca asegurar que, además de estructurar algorítmicamente el proceso de responder una pregunta de negocio, puedes apoyarte en paquetes especializados para análisis de datos que facilitan la implementación del proyecto al proveer bloques de código listos para resolver tareas puntuales.

El propósito de esto es:

  1. Que conozcas y entiendas la lógica de funcionamiento de los principales paquetes que se usan en análitica de datos en Python

    1. Pandas, que es la columna vertebral en la analítica de datos en Python.

    (Podcast 4: ¿Cuál es el flujo de trabajo para analítica de datos en Python?)

    1. Seaborn y plotly, que permiten generar visualizaciones sofisticadas, comunes en analítica de datos, de manera sencilla.

    (Video 4: ¿Cómo llevar la graficación al siguiente nivel en Python?)

    1. Statsmodels y Scikit Learn, que permiten desarrollar una amplia variedad de modelos estadísticos y de machine learning

    (Video 5: ¿Cómo utlizar los modelos típicos de ciencia de datos en Python?)

    1. Panel y ipywidgets, que permiten agregar elementos interactivos a los desarrollos en Python para generar tableros de control.

    (Video 6: ¿Cómo desarrollar herramientas que permitan análisis interactivo?)

  2. Que generes el hábito de consultar documentación de paquetes para profundizar sobre las posibilidades que ofrecen, y de utilizar foros en línea como recurso para resolver problemas. (Podcast 5: ¿Cómo ir más allá de las habilidades básicas en tantos paquetes con contenido tan extenso?)

Para esto, en este curso:

  1. Te mostramos las funcionalidades más usadas del paquete Pandas en analítica de datos:

    1. Funciones básicas de Pandas para leer, escribir y explorar datos, con un poco de preámbulo sobre Numpy, el paquete que soporta Pandas tras bambalinas.

    (Tutorial 6, Taller 6)

    1. Exploración y análisis descriptivo utilizando indexación, filtrado y métodos básicos de descripción y graficación en Pandas.

    (Tutorial 8, Taller 8)

    1. Agregación de datos de múltiples DataFrames, limpieza de datos tipo texto y tipo fecha/hora, y manejo de datos faltantes en Pandas.

    (Tutorial 9, Taller 9)

  2. Te damos ejemplos de usos comunes de los paquetes Seaborn y Plotly, en conjunto con Pandas, para generar visualizaciones sofisticadas fácilmente. (Tutorial 7, Taller 7).


  1. Te damos ejemplos de usos comunes de los paquetes StatsModels y ScikitLearn, en conjunto con Pandas, para desarrollar modelos básicos de estadística y machine learning. (Tutorial 10, Taller 10).

  1. Te damos ejemplos de usos comunes de los paquetes Panel y ipywidgets, en conjunto con Pandas, para agregar interactividad a un Jupyter Notebook, o generar aplicaciones web interactivas de tableros de control. (Tutorial 11 y Taller 11).

III. ¿Cómo se desarrollan las actividades y evaluación del curso?

Los principales hitos del curso son sus dos laboratorios, en los cuales se desarrollan las metas planteadas para el curso. Semana a semana se cuenta con varios tipos de recursos (videos, lecturas, tutoriales, talleres) que permitirán a los participantes ir desarrollando las habilidades que se les demandarán en cada laboratorio.

Actividades de desarrollo de contenido

Los primeros tipos de recurso son videos, lecturas y tutoriales que conjuntamente desarrollan los contenidos del curso:

  • Videos: presentan el contexto y sintetizan los principales conceptos de cada semana.

  • Lecturas/Podcasts: complementan el contenido de los videos, desarrollando algunas ideas con más profundidad y relacionando el contenido del curso con la analítica de datos en la práctica.

  • Tutoriales: funcionan como notas de clase y su objetivo es proveer todas las instrucciones técnicas necesarias para desarrollar los temas de programación del curso, por medio de documentos que combinan texto y código.

Actividades de puesta en práctica

Los segundos tipos de recurso obedecen a las actividades que los participantes desarrollan para medir su progreso, y se dividen en cuestionarios, talleres y laboratorios:

  • Cuestionarios: permiten al participante verificar su entendimiento de los temas de los videos, lecturas y tutoriales a través de preguntas teóricas simples con retroalimentación automática.

  • Talleres: ofrecen al participante una serie de ejercicios puntuales sobre cada uno de los temas cubiertos, con la posibilidad de obtener retroalimentación automatizada y hacer múltiples intentos para mejorar en las habilidades propuestas.

  • Laboratorios: proponen un reto relacionado con las competencias de cada una de las tres partes del curso con el fin de que el participante integre las habilidades que ha ido adquiriendo en los talleres para solucionar un problema.

Actividades de interacción con el equipo docente

Estas actividades son clave para hacer seguimiento del progreso en el curso y resolver las inquietudes que surjan a medida que se desarrollen las demás actividades. Para conocer la dinámica de estas actividades semana a semana, puedes consultar la Guía de sesiones sincrónicas y foros LCA.

  • Foros: proveen un espacio para la interacción indirecta entre estudiantes y equipo docente, con el propósito de recoger, priorizar y responder a las inquietudes que existan sobre el desarrollo de actividades del curso. La dinámica general consiste en recibir dudas hasta una fecha de cierre, a partir de la cual el equipo del curso procesa el contenido del foro para seleccionar las dudas que se pueden tratar a través de la publicación de un documento con respuesta a preguntas frecuentes, y las dudas que deben ser tratadas en el espacio de reunión sincrónica.

  • Sesiones sincrónicas: proveen un espacio para la interacción directa entre estudiantes y equipo docente, con el objetivo principal de acompañar paso a paso el desarrollo de las actividades propuestas y resolver las dudas que se van procesando durante la semana en el foro.

Cronograma general de actividades

En términos gruesos, el curso se divide en dos fases de cuatro semanas, enmarcadas por cada uno de los laboratorios. Sin embargo, la presentación de los temas se va dando de forma que se logren cubrir los temas a tiempo antes de las entregas, por lo cual: las primeras tres semanas se concentran en el dominio de conceptos básicos de analítica de datos y programación en Python; las tres semanas siguientes se ocupan del uso de Pandas como paquete especializado para analítica de datos en Python; y las semanas finales cubren los fundamentos de paquetes útiles para desarrollar modelos cuantitativo y desarrollar herramientas interactivas.

Esquema de evaluación

  • Las principales actividades de evaluación son los laboratorios, que integran todos los conocimientos y habilidades que se desarrollan a través de los videos, podcasts, tutoriales y talleres. Por esto, cada laboratorio corresponde a un 35% de la calificación final del curso y es calificado por el equipo docente con apoyo de software.

  • Los talleres se plantean como ejercicios cortos con calificación automatizada, que se pueden re-enviar una vez cada 48 horas, hasta que la persona sienta que ha dominado los temas planteados. A pesar de tener un carácter conceptualmente formativo, hemos optado por que tengan peso en la calificación final, para enfatizar y fomentar la idea de que la maestría en un tema sólo se adquiere con extensas horas de práctica.

Referencias

  • INFORMS - Study Guide CAP
  • Jake VanderPlas - DataScience Handbook
  • Python Crash Course

Créditos

Quiero que aquí pongamos un collage con las fotos de todos y los créditos respectivos