Este es el repositorio con el contenido del curso en Aprendizaje Estadístico ofrecido a estudiantes de semestres avanzados en las licenciaturas de matemáticas aplicadas, ciencia de datos, actuaría, economía, etc.
El Aprendizaje Estadístico trata de cómo establecer reglas de asociación al observar un conjunto de datos. En este curso estudiaremos las ideas fundamentales detrás de las técnicas de aprendizaje modernas e incorporaremos conceptos familiares de estadística. El libro de texto será cite:James2021 y lo complementaremos con el enfoque de cite:Kuhn2013. Se estudiarán, además, técnicas estadísticas modernas aplicadas a modelado predictivo por medio de lecturas que acompañaran el curso.
El libro de texto será:
- James, G., Witten, D., Hastie, T., & Tibshirani, R. (2021). An introduction to statistical learning. Springer, New York, NY. Second Edition.
Nos apoyaremos de:
- Kuhn, M., Johnson K. (2013). Applied predictive modeling. Springer, New York, NY.
El curso, además, utilizará distintas herramientas computacionales para brindar al estudiante un marco de trabajo reproducible. Al final del curso, lxs estudiantes tendrán las competencias para trabajar en proyectos de código abierto en ambientes reproducibles de trabajo.
Esto se logrará en el curso al utilizar herramientas de código abierto: R
como
lenguaje de programación y GitHub
como gestor de entrega y avance de tareas y
trabajos.
El curso está pensando para cursarse después de haber acreditado Estadística
Matemática
(o equivalente). Sin embargo, se aprovechará mejor si se lleva a la
par junto con Estadística Aplicada II
(o equivalentes).
El temario para el semestre de primavera 2022 se puede encontrar aqui. Este es un plan preliminar que está sujeto al avance del curso a lo largo del semestre.
El material que estudiaremos será sobre modelos predictivos desde el punto de vista estadístico. Dicho de otra forma, no será un curso de Machine Learning algorítmico. Nos concentraremos en las conexiones entre modelos predictivos y principios estadísticos que le dan sustento.
El contenido actual de esta iteración del curso se encuentra en la rama: spring-2023. La estructura del repositorio se muestra a continuación donde tenemos a grandes razgos:
.
├── docs # Handouts con las notas de clase (pdf).
├── images # Material visual de apoyo (png).
├── notas # Material fuente de las notas (eMacs).
├── renv # Archivos de estructura de ambiente (R).
└── rscripts # Codigo de R para seguir la clase.
5 directories
El curso es agnóstico al lenguaje de programación. Sin embargo, las notas y el
material estará construido a partir de R. En particular utilizaremos tidymodels
como herramienta de programación dentro de R
pues ofrece una ambiente unificado
de distintas librerías enfocadas en modelos predictivos. Además, es una
herramienta que representa muy bien la filosofía del curso.
El ambiente de trabajo está configurado para tener un espacio reproducible
. Es decir, independiente del
sistema operativo unificaremos versiones para poder trabajar. Esto lo logramos con las siguientes herramientas
(las menciono pero no espero que tengan familiaridad, a lo largo del curso veremos cómo utilizarlas).
Se sugiere utilizar Rstudio Visual Studio Code
para poder trabajar en sus
proyectos y sus tareas. En particular, el material de clase será editado en GNU
Emacs a través de orgfiles
(archivos con sufijo .org
) pero pueden ser
visualizados en Github
.
Utilizaremos renv
para mantener actualizada las herramientas de R
junto con el
contenido del curso. En la carpeta notas
se encuentran los archivos de
requerimientos (renv.lock
) con el que podrán usar los archivos que se vayan
decantando en la carpeta rscripts
. Aún asi, la configuración se irá construyendo
en los ejercicios de tarea que vayamos utilizando en el curso.
Nota: Es necesario tener instalada la versión 4.2.1
de R
para tener la mejor
compatibilidad con el código del curso.
Se recomienda escribir en el archivo ~/.Renviron
la siguiente línea lo cual
mantendrá el cache de renv
en un lugar centralizado
RENV_PATHS_ROOT=~/.renv
Mi idea de ambiente computacional es el que se puede reproducir en cualquier
sistema operativo. Para esto Docker
es la herramienta ideal y el uso de los
Codespaces
de GitHub ha resultado increíble para una solución dentro de un
ámbito educativo.
Para la imagen agarbuno/aprendizaje
consideren que:
- El tag
notas
basado en una distribución linux en una emulación con un procesadorIntel
, tiene la configuración mínima necesaria para poder reproducir el ambiente de cómputo para poder ejecutar el material del curso
Esto no les puede decir mucho, pero básicamente con el combo
Docker
+ Visual Code Studio
, ¡tod@s tenemos la misma computadora para trabajar! 🥲.
Y si lo quieren correr en la nube entonces: Docker
+ Visual Code Studio
+ Github Codespaces
🥲 $× 1078$.
Importante
: No espero que sepan reproducir ustedes la configuración del ambiente de
trabajo. Si les interesa podemos organizar una sesión para discutir esto a profundidad.
Lo importante es que lo sepan utilizar en su computadora o en un explorador de internet.
Esto es, que pueden utilizarlo para las prácticas del curso.