Ejercicios practicos para las clases de la materia Laboratorio de Datos, de la Lic. en Cs. de Datos, FCEN, UBA.
Clase Numero | Capitulo | Titulo |
---|---|---|
1 | Obtencion y organizacion de datos | Recopilacion, organizacion, calidad y limpieza de datos. |
2 | Obtencion y organizacion de datos | Introduccion a tecnicas de procesamiento de datos |
3 | Datos no estructurados | Datos de Texto e imagenes |
4 | Datos no estructurados | Datos de audio y video |
5 | Datos no estructurados | Geoespaciales, redes sociales, APIs |
6 | Datos no estructurados | Web scraping |
7 | Formatos | Formatos de datos de texto |
8 | Formatos | Formatos binarios (PDF, JPEG, DOCX) |
9 | Formatos | Mas tecnicas de transformacion y limpieza de datos |
10 | Visualizacion | Introduccion a la visualizacion de datos |
11 | Visualizacion | Visualizaciones Avanzadas |
E1 | Repaso de Estadistica | Probabilidad y distribuciones estadísticas |
E2 | Repaso de Estadistica | Pruebas de hipótesis e intervalos de confianza |
E3 | Repaso de Estadistica | Análisis de regresión (OLS) |
12 | Exploracion | Analisis exploratorio de datos |
13 | Exploracion | Tecnicas de analisis de datos |
14 | Exploracion | Introducción a la narración y comunicación de datos |
15 | Exploracion | Creación de presentaciones de datos e informes efectivos |
16 | Modelos | Introducción al modelado |
17 | Modelos | Introducción a la evaluación y selección de modelos |
18 | Modelos | Validación, hiperparámetros y métricas de evaluación |
19 | Modelos | Modelos de ensemble |
20 | Modelos | Modelos de clustering |
21 | Modelos | Modelos de series temporales |
22 | Modelos | Evaluacion en deep learning y redes neuronales |
23 | Aprendizaje Automático | Introduccion a machine learning |
24 | Aprendizaje Automático | Arboles de decision. Ensembles |
25 | Aprendizaje Automático | SVM, KNN, naive bayes |
26 | No supervisado | Introduccion a redes neuronales |
27 | No supervisado | Mas sobre redes neuronales |
28 | No supervisado | Introducción al aprendizaje por refuerzo |
29 | No supervisado | Introducción al procesamiento del lenguaje natural (NLP) |
Este tema cubre los aspectos básicos de la recopilación y organización de datos, lo cual es crucial para cualquier proyecto de análisis de datos.
Clase 1:
* Introducción a la recopilación y organización de datos.
* Tipos de datos (estructurados, semiestructurados, no estructurados).
* Fuentes de datos (por por ej. bases de datos, archivos, web scraping).
* Calidad y limpieza de datos.
Clase 2:
* Técnicas de disputa y manipulación de datos (por por ej. filtrado, clasificación, fusión).
* Agregación y resumen de datos.
* Introducción a la visualización de datos.
* Almacenamiento y recuperación de datos (por por ej. SQL, NoSQL).
Esta es un área importante ya que gran parte de los datos generados hoy en día no están estructurados, como texto e imágenes.
Clase 3:
* Introducción a los datos no estructurados.
* Técnicas para procesar datos de texto (por por ej. tokenización, derivación, análisis de sentimientos).
* Técnicas para procesar datos de imágenes (por por ej. extracción de características, redes neuronales convolucionales).
Clase 4:
* Técnicas para procesar datos de audio y video (por por ej. transformadas de Fourier, espectrogramas).
* Introducción al procesamiento del lenguaje natural (PNL).
* Técnicas de PNL para la clasificación de textos y análisis de sentimientos.
Clase 5:
* Técnicas para procesar datos de redes sociales (por por ej. datos de Twitter, datos de Facebook).
* Técnicas para procesar datos geoespaciales (por por ej. datos GPS, datos GIS).
* Mejores prácticas para el procesamiento de datos no estructurados.
* Interacción con páginas web y con APIs: Acceder a datos de páginas web y APIs es una tarea común en muchos proyectos de análisis de datos.
Clase 6:
* Introducción al web scraping: ¿Qué es el web scraping y por qué es importante?
* Comprensión de HTML y CSS: conceptos básicos de HTML y CSS, incluidos los selectores y la sintaxis.
* Introducción a las bibliotecas de web scraping: descripción general de las bibliotecas de web scraping más populares, como BeautifulSoup y Scrapy.
* Herramientas y técnicas de web scraping: las mejores prácticas para el web scraping, incluido el manejo de contenido dinámico, la navegación por estructuras de sitios web y la evitación de medidas anti-scraping.
* Desafíos en web scraping: manejo de diferentes formatos de datos, manejo de errores y manejo de bloqueo de IP y CAPTCHA.
* Consideraciones éticas en el web scraping: Cuestiones legales y éticas relacionadas con el web scraping, incluidos los derechos de autor, la privacidad de los datos y las condiciones del servicio.
Comprender los diferentes formatos de datos es necesario para trabajar con datos de manera efectiva.
Clase 7: Comprender los formatos de texto y manejar diferentes tipos de datos:
* Introducción a diferentes formatos de datos de texto (CSV, TSV, JSON, XML)
* Principios básicos de tipificación de datos (cadenas, números, fechas)
* Técnicas para el manejo de diferentes tipos de datos en formatos de texto
* Análisis y limpieza de datos usando bibliotecas de Python (por por ej. Pandas)
Clase 8: Comprensión de formatos binarios y transformación de datos:
* Introducción a los formatos binarios comunes (PDF, DOCX, JPEG, PNG)
* Técnicas para transformar datos entre diferentes formatos binarios
* Extracción y manipulación de datos mediante bibliotecas de Python (por por ej. PyPDF2, Pillow)
* Mejores prácticas para el almacenamiento y manejo de datos binarios
Clase 9: Manejo de datos faltantes o incompletos y mejores prácticas para formatear y almacenar.
* Técnicas para identificar datos faltantes o incompletos
* Métodos para manejar datos faltantes o incompletos (por por ej. eliminación, imputación)
* Las mejores prácticas para el formato y el almacenamiento de datos, incluidas las convenciones de nomenclatura y el control de versiones de datos
* Ejercicios prácticos para aplicar técnicas de formateo, transformación y limpieza de datos
Herramientas para una buena visualizacion, clave para comunicar mensajes a traves de los datos.
Clase 10:
* Introducción a la visualización de datos
* Principios del diseño visual.
* Selección de representaciones visuales apropiadas
* Tipos de visualización comunes (por por ej. gráficos de barras, gráficos de líneas, diagramas de dispersión)
Clase 11:
* Visualizaciones avanzadas (por por ej. mapas de calor, mapas de árboles, diagramas de red)
* Visualización de datos multidimensionales
* Interactividad en la visualización de datos
* Las mejores prácticas para una visualización de datos eficaz
Contenidos minimos correlativos que preceden a los modelos y otros conceptos mas avanzados que ocupan el resto de la materia.
Clase E1: Probabilidad y distribuciones estadísticas
* Introducción a la probabilidad y distribuciones de probabilidad
* Tipos de distribuciones de probabilidad (por por ej. normal, binomial, Poisson)
* Propiedades y aplicaciones de cada distribución
* Teorema del límite central y su significado en estadística
Clase E2: Pruebas de hipótesis e intervalos de confianza
* El concepto de prueba de hipótesis e hipótesis nulas/alternativas
* Tipos de errores en la prueba de hipótesis (errores tipo I y tipo II)
* Intervalos de confianza y su interpretación
* Ejemplos prácticos de prueba de hipótesis e intervalos de confianza en ciencia de datos
Clase E3: Análisis de regresión
* Introducción a la regresión lineal y sus suposiciones
* Regresión lineal múltiple y sus extensiones
* Selección de modelos y técnicas de regularización (por por ej. Lasso, regresión de Ridge)
* Modelos de regresión no lineal (por por ej. regresión polinomial, regresión spline)
Recordar que tener intuicion de las bases de estadistica y la idea del central limit theorem es clave para tomar decisiones en un proceso de analisis de informacion cuantitativa.
La exploracion es un paso crucial en cualquier proyecto de análisis de datos, ya que ayuda a comprender los datos e identificar posibles problemas.
Clase 12:
* Descripción general del análisis exploratorio de datos
* Técnicas para resumir y visualizar distribuciones de datos
* Identificación de valores atípicos y valores perdidos
* Limpieza y preprocesamiento de datos
Clase 13:
* Análisis de correlación y asociación
* Técnicas de reducción de dimensionalidad (por por ej. PCA, t-SNE)
* Técnicas de agrupamiento y segmentación
* Exploración de patrones de datos temporales y espaciales
Clase 14: Introducción a la narración y comunicación de datos
* Importancia de la narración de datos y la comunicación efectiva en el análisis de datos
* Comprender a la audiencia y adaptar la comunicación en consecuencia
* Mejores prácticas para una comunicación clara y concisa
* Importancia de crear una narrativa en la narración de datos
* Cómo usar de manera efectiva la visualización de datos para comunicar ideas
Clase 15: Creación de presentaciones de datos e informes efectivos
* Introducción a diferentes tipos de presentaciones de datos (ej. diapositivas, infografías, tableros)
* Mejores prácticas para crear presentaciones de datos efectivas
* Cómo estructurar un informe de datos para lograr el máximo impacto
* Sugerencias para crear imágenes atractivas y usarlas e manera efectiva
Introducción al modelado: este tema cubre los conceptos básicos del modelado, incluidos los modelos predictivos y explicativos.
Clase 16:
* Descripción general del modelado: ¿Qué es el modelado? ¿Por qué es importante?
* Tipos de modelos: discuta la diferencia entre modelos predictivos y explicativos y cuándo usar cada tipo.
* Selección del modelo: Cómo seleccionar el modelo apropiado para un problema dado.
* Desarrollo de modelos: el proceso de creación de un modelo, incluida la preparación de datos, la selección de características y el entrenamiento del modelo.
* Evaluación del modelo: técnicas para evaluar el rendimiento de un modelo, incluidas medidas como exactitud, precisión y recuperación.
* Sobreajuste y desajuste: los peligros de sobreajustar un modelo a los datos de entrenamiento y desajuste de un modelo para capturar patrones importantes en los datos.
* Interpretación del modelo: cómo interpretar los resultados de un modelo y comunicar información a las partes interesadas.
* Implementación de modelos: estrategias para implementar un modelo en producción y monitorear su desempeño a lo largo del tiempo.
Herramientas de validación de un modelo: La validación del modelo es importante para garantizar que el modelo sea preciso y confiable.
Clase 17: Introducción a la evaluación y selección de modelos
* Tipos de modelos y métricas de evaluación de modelos
* Compensación de sesgo y varianza en el rendimiento del modelo
* Overfitting y underfitting
Clase 18: Validación cruzada, ajuste de hiperparámetros y métricas de evaluación
* Validación cruzada de K-fold y validación cruzada de dejar uno fuera
* Búsqueda en cuadrícula y búsqueda aleatoria para ajuste de hiperparámetros
* Métricas de evaluación para modelos de clasificación y regresión
* Matrices de confusión y curvas ROC
Clase 19: Aprendizaje en conjunto e interpretabilidad del modelo
* Embolsar, impulsar y apilar
* Interpretabilidad del modelo e importancia de las características
* Gráficas de dependencia parcial y valores SHAP
Clase 20: Métricas de evaluación para algoritmos de agrupamiento (clustering)
* Puntuación de silueta y otras métricas de evaluación para algoritmos de agrupamiento
* Agrupación jerárquica y agrupación de k-medias
* Evaluación de modelos de aprendizaje no supervisado
Clase 21: Evaluación de modelos de series temporales
* ARIMA y otros modelos de series temporales
* Métricas para evaluar modelos de series temporales, como RMSE y MAE
* Precisión y evaluación del pronóstico
Clase 22: Evaluación de modelos en el contexto de aprendizaje profundo (deep learning) y redes neuronales
* Métricas para evaluar redes neuronales, como precisión y pérdida
* Evaluación de redes neuronales convolucionales (CNNs) para clasificación de imágenes
* Evaluación de redes neuronales recurrentes (RNN) para procesamiento de lenguaje natural
* Métricas de evaluación para conjuntos de datos desequilibrados
* Evaluación de sistemas de recomendación
* Evaluación de modelos generativos, como GAN
Introducción a los conceptos fundamentales de aprendizaje supervisado y no supervisado, y una descripción general de los algoritmos más comunes.
Clase 23:
* Introducción al aprendizaje supervisado y no supervisado
* Descripción general de los algoritmos comunes de aprendizaje automático
* Tipos de problemas de aprendizaje automático (clasificación, regresión, agrupamiento, etc.)
Clase 24:
* Árboles de decisión para clasificación y regresión
* Bosques aleatorios y técnicas de ensacado
* Algoritmos de aumento de gradiente
Clase 25:
* Máquinas de vectores de soporte (SVM) para clasificación y regresión
* Algoritmo de K-vecinos más cercanos (KNN) para clasificación y regresión
* Algoritmo Naive Bayes para la clasificación
Técnicas de aprendizaje no supervisado: k-means, clustering jerárquico. Las tecnicas de aprendizaje no supervisado son importantes para identificar patrones y relaciones en los datos.
Clase 26:
* Introducción a las redes neuronales y el aprendizaje profundo
* Redes neuronales de avance
* Redes neuronales convolucionales (CNN)
Clase 27:
* Redes neuronales recurrentes (RNN) y sus aplicaciones en el procesamiento del lenguaje natural
* Redes de memoria a largo plazo (LSTM)
* Autocodificadores y sus aplicaciones en el aprendizaje no supervisado
Clase 28:
* Introducción al aprendizaje por refuerzo
* Procesos de decisión de Markov y la ecuación de Bellman
* Q-learning y Q-learning profundo
Clase 29:
* Introducción al procesamiento del lenguaje natural (PNL)
* Técnicas de preprocesamiento y limpieza de textos
* Tareas y técnicas de NLP (etiquetado de partes del discurso, reconocimiento de entidades nombradas, análisis de sentimientos, etc.)