Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,19 @@ Integra currículo modular extenso, laboratorio interactivo local, portal del al

### 🗺️ Las 9 partes del currículo

| # | Parte | Clases | Foco |
|---|---|---|---|
| 0️⃣ | Prerrequisitos | 46 | Python aplicado, NumPy, pandas, visualización, SQL, NoSQL, APIs |
| 1️⃣ | ML clásico | 43 | Regresión, clasificación, ensembles, no supervisado |
| 2️⃣ | Deep Learning | 56 | Keras, TF, CNN, RNN, Transformers, RL, despliegue |
| 3️⃣ | Estadística inferencial | 13 | Hipótesis, A/B testing, inferencia causal, Bayes |
| 4️⃣ | MLOps | 14 | Docker, CI/CD, MLflow, monitoreo, interpretabilidad |
| 5️⃣ | Ingeniería de datos | 8 | Spark, Airflow, lakehouses, streaming |
| 6️⃣ | Recomendadores | 7 | Filtrado colaborativo, factorización, secuenciales |
| 7️⃣ | Ética, fairness, privacidad | 6 | Sesgo, explicabilidad, marcos normativos |
| 8️⃣ | Capstones | 4 | Proyectos integradores end-to-end |
Cada parte tiene su **propio README** con narrativa completa: de qué trata, qué problemas resuelve, resultados de aprendizaje, estructura temática y enlaces a las clases.

| # | Parte | Clases | Foco | README |
|---|---|---:|---|---|
| 0️⃣ | Prerrequisitos | 46 | Python aplicado, NumPy, pandas, visualización, SQL, NoSQL, APIs | [📘 leer](classes/parte-0-prerrequisitos/README.md) |
| 1️⃣ | ML clásico | 43 | Regresión, clasificación, ensembles, no supervisado | [📘 leer](classes/parte-1-machine-learning-clasico/README.md) |
| 2️⃣ | Deep Learning | 56 | Keras, TF, CNN, RNN, Transformers, RL, despliegue | [📘 leer](classes/parte-2-deep-learning/README.md) |
| 3️⃣ | Estadística inferencial | 13 | Hipótesis, A/B testing, inferencia causal, Bayes | [📘 leer](classes/parte-3-estadistica-inferencial/README.md) |
| 4️⃣ | MLOps | 14 | Docker, CI/CD, MLflow, monitoreo, interpretabilidad | [📘 leer](classes/parte-4-mlops/README.md) |
| 5️⃣ | Ingeniería de datos | 8 | Spark, Airflow, lakehouses, streaming | [📘 leer](classes/parte-5-ingenieria-de-datos/README.md) |
| 6️⃣ | Recomendadores | 7 | Filtrado colaborativo, factorización, secuenciales | [📘 leer](classes/parte-6-sistemas-de-recomendacion/README.md) |
| 7️⃣ | Ética, fairness, privacidad | 6 | Sesgo, explicabilidad, marcos normativos | [📘 leer](classes/parte-7-etica-fairness-privacidad/README.md) |
| 8️⃣ | Capstones | 4 | Proyectos integradores end-to-end | [📘 leer](classes/parte-8-capstones/README.md) |

### 🚧 Trabajo pendiente

Expand Down
35 changes: 25 additions & 10 deletions classes/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
# Índice del currículo

Total: 197 clases en 9 partes.
**197 clases · 9 partes.** Cada parte tiene su propio README con la narrativa completa (de qué trata, qué problemas resuelve, resultados de aprendizaje, estructura temática y prerrequisitos).

| Parte | Tema | Clases | README de la parte |
|---|---|---:|---|
| 0 | Prerrequisitos: Python, NumPy, pandas, visualización, SQL, APIs | 46 | [📘 leer parte 0](parte-0-prerrequisitos/README.md) |
| 1 | Machine Learning clásico | 43 | [📘 leer parte 1](parte-1-machine-learning-clasico/README.md) |
| 2 | Deep Learning (Keras, TF, Transformers, RL, despliegue) | 56 | [📘 leer parte 2](parte-2-deep-learning/README.md) |
| 3 | Estadística inferencial y causal | 13 | [📘 leer parte 3](parte-3-estadistica-inferencial/README.md) |
| 4 | MLOps en producción | 14 | [📘 leer parte 4](parte-4-mlops/README.md) |
| 5 | Ingeniería de datos | 8 | [📘 leer parte 5](parte-5-ingenieria-de-datos/README.md) |
| 6 | Sistemas de recomendación | 7 | [📘 leer parte 6](parte-6-sistemas-de-recomendacion/README.md) |
| 7 | Ética, fairness, privacidad | 6 | [📘 leer parte 7](parte-7-etica-fairness-privacidad/README.md) |
| 8 | Capstones | 4 | [📘 leer parte 8](parte-8-capstones/README.md) |

## Parte 0-prerrequisitos
---

A continuación, el índice plano de las 197 clases. Si buscas la narrativa de una parte, entra a su README (columna de arriba).

## [Parte 0 — Prerrequisitos](parte-0-prerrequisitos/README.md)

- [001 — Instalación de Python 3.12+ y entornos virtuales (venv, uv, conda)](parte-0-prerrequisitos/001-instalacion-de-python-3-12-y-entornos-virtuales-venv-uv-conda/README.md)
- [002 — Jupyter y JupyterLab: kernels, magics, debugging, profiling](parte-0-prerrequisitos/002-jupyter-y-jupyterlab-kernels-magics-debugging-profiling/README.md)
Expand Down Expand Up @@ -52,7 +67,7 @@ Total: 197 clases en 9 partes.
- [045 — APIs REST con requests](parte-0-prerrequisitos/045-apis-rest-con-requests/README.md)
- [046 — Web scraping con BeautifulSoup](parte-0-prerrequisitos/046-web-scraping-con-beautifulsoup/README.md)

## Parte 1-machine-learning-clasico
## [Parte 1 — Machine Learning Clásico](parte-1-machine-learning-clasico/README.md)

- [047 — Panorama del ML: tipos, batch vs online, instance vs model-based](parte-1-machine-learning-clasico/047-panorama-del-ml-tipos-batch-vs-online-instance-vs-model-based/README.md)
- [048 — Desafíos del ML: overfitting, underfitting, datos insuficientes](parte-1-machine-learning-clasico/048-desafios-del-ml-overfitting-underfitting-datos-insuficientes/README.md)
Expand Down Expand Up @@ -98,7 +113,7 @@ Total: 197 clases en 9 partes.
- [088 — Gaussian Mixture Models](parte-1-machine-learning-clasico/088-gaussian-mixture-models/README.md)
- [089 — Detección de anomalías: Isolation Forest, LOF, One-Class SVM](parte-1-machine-learning-clasico/089-deteccion-de-anomalias-isolation-forest-lof-one-class-svm/README.md)

## Parte 2-deep-learning
## [Parte 2 — Deep Learning](parte-2-deep-learning/README.md)

- [090 — Perceptrón, MLP y backpropagation](parte-2-deep-learning/090-perceptron-mlp-y-backpropagation/README.md)
- [091 — Regresión y clasificación con MLP](parte-2-deep-learning/091-regresion-y-clasificacion-con-mlp/README.md)
Expand Down Expand Up @@ -157,7 +172,7 @@ Total: 197 clases en 9 partes.
- [144 — Entrenamiento multi-dispositivo, tf.distribute](parte-2-deep-learning/144-entrenamiento-multi-dispositivo-tf-distribute/README.md)
- [145 — Entrenamiento a escala con Vertex AI](parte-2-deep-learning/145-entrenamiento-a-escala-con-vertex-ai/README.md)

## Parte 3-estadistica-inferencial
## [Parte 3 — Estadística Inferencial](parte-3-estadistica-inferencial/README.md)

- [146 — Distribuciones: normal, binomial, Poisson, exponencial](parte-3-estadistica-inferencial/146-distribuciones-normal-binomial-poisson-exponencial/README.md)
- [147 — Test t (una muestra, dos muestras, pareado)](parte-3-estadistica-inferencial/147-test-t-una-muestra-dos-muestras-pareado/README.md)
Expand All @@ -173,7 +188,7 @@ Total: 197 clases en 9 partes.
- [157 — Uplift modeling, DiD (difference-in-differences)](parte-3-estadistica-inferencial/157-uplift-modeling-did-difference-in-differences/README.md)
- [158 — Bayes intro: priors, posterior, MCMC con PyMC](parte-3-estadistica-inferencial/158-bayes-intro-priors-posterior-mcmc-con-pymc/README.md)

## Parte 4-mlops
## [Parte 4 — MLOps](parte-4-mlops/README.md)

- [159 — Versionado de datos con DVC](parte-4-mlops/159-versionado-de-datos-con-dvc/README.md)
- [160 — Versionado de modelos y experimentos con MLflow](parte-4-mlops/160-versionado-de-modelos-y-experimentos-con-mlflow/README.md)
Expand All @@ -190,7 +205,7 @@ Total: 197 clases en 9 partes.
- [171 — Testing de datos: Great Expectations, Deequ](parte-4-mlops/171-testing-de-datos-great-expectations-deequ/README.md)
- [172 — Testing de modelos: invariance, behavioral tests](parte-4-mlops/172-testing-de-modelos-invariance-behavioral-tests/README.md)

## Parte 5-ingenieria-de-datos
## [Parte 5 — Ingeniería de Datos](parte-5-ingenieria-de-datos/README.md)

- [173 — Pipelines ETL/ELT con Airflow](parte-5-ingenieria-de-datos/173-pipelines-etl-elt-con-airflow/README.md)
- [174 — Pipelines con Prefect o Dagster](parte-5-ingenieria-de-datos/174-pipelines-con-prefect-o-dagster/README.md)
Expand All @@ -201,7 +216,7 @@ Total: 197 clases en 9 partes.
- [179 — Formatos columnares: Parquet, Avro](parte-5-ingenieria-de-datos/179-formatos-columnares-parquet-avro/README.md)
- [180 — Modelado dimensional (star/snowflake schemas)](parte-5-ingenieria-de-datos/180-modelado-dimensional-star-snowflake-schemas/README.md)

## Parte 6-sistemas-de-recomendacion
## [Parte 6 — Sistemas de Recomendación](parte-6-sistemas-de-recomendacion/README.md)

- [181 — Filtrado colaborativo user-based e item-based](parte-6-sistemas-de-recomendacion/181-filtrado-colaborativo-user-based-e-item-based/README.md)
- [182 — Factorización de matrices: SVD, ALS](parte-6-sistemas-de-recomendacion/182-factorizacion-de-matrices-svd-als/README.md)
Expand All @@ -211,7 +226,7 @@ Total: 197 clases en 9 partes.
- [186 — Cold-start problem](parte-6-sistemas-de-recomendacion/186-cold-start-problem/README.md)
- [187 — Librerías: LightFM, Implicit, Surprise](parte-6-sistemas-de-recomendacion/187-librerias-lightfm-implicit-surprise/README.md)

## Parte 7-etica-fairness-privacidad
## [Parte 7 — Ética, Fairness y Privacidad](parte-7-etica-fairness-privacidad/README.md)

- [188 — Tipos de sesgo algorítmico y orígenes](parte-7-etica-fairness-privacidad/188-tipos-de-sesgo-algoritmico-y-origenes/README.md)
- [189 — Métricas de fairness: demographic parity, equalized odds, calibration](parte-7-etica-fairness-privacidad/189-metricas-de-fairness-demographic-parity-equalized-odds-calibration/README.md)
Expand All @@ -220,7 +235,7 @@ Total: 197 clases en 9 partes.
- [192 — GDPR y AI Act (EU)](parte-7-etica-fairness-privacidad/192-gdpr-y-ai-act-eu/README.md)
- [193 — Reproducibilidad: seeds, lock files, versionado de datasets](parte-7-etica-fairness-privacidad/193-reproducibilidad-seeds-lock-files-versionado-de-datasets/README.md)

## Parte 8-capstones
## [Parte 8 — Capstones](parte-8-capstones/README.md)

- [194 — Capstone 1: problema tabular end-to-end (EDA, modelo, API, dashboard)](parte-8-capstones/194-capstone-1-problema-tabular-end-to-end-eda-modelo-api-dashboard/README.md)
- [195 — Capstone 2: NLP o series de tiempo end-to-end](parte-8-capstones/195-capstone-2-nlp-o-series-de-tiempo-end-to-end/README.md)
Expand Down
97 changes: 97 additions & 0 deletions classes/parte-0-prerrequisitos/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Parte 0 — Prerrequisitos: Python + NumPy + pandas + visualización + SQL + APIs

> [⬅️ Volver al programa](../../README.md) · [📚 Índice completo](../README.md) · [⏭️ Parte siguiente](../parte-1-machine-learning-clasico/README.md)

**46 clases** · ~10–12 semanas a ritmo moderado

**Fuente principal:** **VanderPlas** ([*Python Data Science Handbook*](https://jakevdp.github.io/PythonDataScienceHandbook/)) — secuencia y énfasis en NumPy, pandas y matplotlib.

---

## 🎯 ¿De qué trata esta parte?

Esta parte construye **toda la base técnica** que el resto del programa da por sentada. No es "introducción a Python" — es el conjunto mínimo de herramientas con las que un data scientist trabaja a diario: el lenguaje, los entornos reproducibles, el control de versiones, el stack numérico (NumPy / pandas), la visualización (matplotlib / seaborn / plotly), el acceso a datos (SQL, NoSQL, APIs, scraping) y la disciplina de proyecto (logging, type hints, manejo de errores, estructura cookiecutter).

El recorrido es deliberadamente extenso porque cada laguna acá se convierte en deuda invisible que aparece después en Parte 1 (ML clásico) y Parte 2 (Deep Learning). Quien complete bien esta parte puede leer cualquier notebook profesional, reproducirlo, modificarlo y debuggearlo.

## 🧩 Problemas que resuelve

- Configurar un entorno Python aislado y reproducible (venv / uv / conda) sin colisiones de dependencias.
- Manipular datasets tabulares de tamaño medio (cientos de miles de filas) sin caer en bucles ni código lento.
- Limpiar, transformar y unir datos sucios usando pandas (faltantes, tipos, formatos, joins, groupby).
- Producir gráficos publicables (no solo `df.plot()`) con matplotlib + seaborn, incluyendo mapas geográficos.
- Consultar bases relacionales con SQL avanzado (CTEs, window functions) y conectarlas desde Python.
- Acceder a datos externos vía APIs REST y, cuando no hay API, mediante web scraping responsable.

## 🎓 Resultados de aprendizaje

Al finalizar esta parte, el estudiante podrá:

- Levantar un proyecto nuevo con estructura reproducible, dependencias fijadas y `pre-commit` en menos de 10 minutos.
- Escribir código NumPy/pandas vectorizado (sin loops) y justificar por qué es más rápido.
- Diseñar visualizaciones efectivas que comuniquen una conclusión, no solo "que se vean lindas".
- Escribir consultas SQL no triviales (window functions, CTEs recursivas) y traducirlas a pandas y viceversa.
- Extraer datos de una API o sitio web y dejarlos listos para análisis, manejando paginación y rate-limiting.

## 🗺️ Estructura temática

- **Setup y reproducibilidad** — clases 001–005 — instalación, Jupyter, Git/GitHub, estructura de proyecto, editor.
- **Python para data science** — clases 006–013 — tipos, comprehensions, funciones, OOP, pathlib, logging, type hints.
- **NumPy (8 clases)** — clases 014–021 — creación, ufuncs, agregaciones, broadcasting, masks, álgebra lineal, aleatoriedad.
- **pandas (11 clases)** — clases 022–032 — Series/DataFrame, indexación, joins, groupby, pivot, strings, series de tiempo.
- **Visualización** — clases 033–040 — matplotlib en profundidad, seaborn, visualización geográfica.
- **SQL** — clases 041–043 — desde fundamentos a window functions y conexión desde Python.
- **Acceso a datos externos** — clases 044–046 — MongoDB, APIs REST, web scraping con BeautifulSoup.

## 📚 Índice de clases (46)

- [001 — Instalación de Python 3.12+ y entornos virtuales (venv, uv, conda)](001-instalacion-de-python-3-12-y-entornos-virtuales-venv-uv-conda/README.md)
- [002 — Jupyter y JupyterLab: kernels, magics, debugging, profiling](002-jupyter-y-jupyterlab-kernels-magics-debugging-profiling/README.md)
- [003 — Git y GitHub para data scientists](003-git-y-github-para-data-scientists/README.md)
- [004 — Estructura reproducible de proyecto (cookiecutter-data-science)](004-estructura-reproducible-de-proyecto-cookiecutter-data-science/README.md)
- [005 — VS Code / Cursor para Python y Jupyter](005-vs-code-cursor-para-python-y-jupyter/README.md)
- [006 — Python: tipos, estructuras, control de flujo](006-python-tipos-estructuras-control-de-flujo/README.md)
- [007 — Comprehensions y generadores](007-comprehensions-y-generadores/README.md)
- [008 — Funciones, args, kwargs, lambdas, closures](008-funciones-args-kwargs-lambdas-closures/README.md)
- [009 — Manejo de excepciones y context managers](009-manejo-de-excepciones-y-context-managers/README.md)
- [010 — OOP básico, dataclasses, herencia](010-oop-basico-dataclasses-herencia/README.md)
- [011 — pathlib, lectura y escritura de archivos](011-pathlib-lectura-y-escritura-de-archivos/README.md)
- [012 — Logging](012-logging/README.md)
- [013 — Type hints y mypy](013-type-hints-y-mypy/README.md)
- [014 — NumPy: tipos, creación, atributos](014-numpy-tipos-creacion-atributos/README.md)
- [015 — NumPy: ufuncs y vectorización](015-numpy-ufuncs-y-vectorizacion/README.md)
- [016 — NumPy: agregaciones](016-numpy-agregaciones/README.md)
- [017 — NumPy: broadcasting](017-numpy-broadcasting/README.md)
- [018 — NumPy: boolean masks y fancy indexing](018-numpy-boolean-masks-y-fancy-indexing/README.md)
- [019 — NumPy: ordenamiento y búsqueda](019-numpy-ordenamiento-y-busqueda/README.md)
- [020 — NumPy: álgebra lineal con numpy.linalg](020-numpy-algebra-lineal-con-numpy-linalg/README.md)
- [021 — NumPy: aleatoriedad y semillas](021-numpy-aleatoriedad-y-semillas/README.md)
- [022 — Pandas: Series y DataFrame](022-pandas-series-y-dataframe/README.md)
- [023 — Pandas: indexación (loc, iloc, at, iat)](023-pandas-indexacion-loc-iloc-at-iat/README.md)
- [024 — Pandas: operaciones y alineación](024-pandas-operaciones-y-alineacion/README.md)
- [025 — Pandas: datos faltantes](025-pandas-datos-faltantes/README.md)
- [026 — Pandas: MultiIndex](026-pandas-multiindex/README.md)
- [027 — Pandas: concat, merge, join](027-pandas-concat-merge-join/README.md)
- [028 — Pandas: groupby (split-apply-combine)](028-pandas-groupby-split-apply-combine/README.md)
- [029 — Pandas: pivot tables y crosstab](029-pandas-pivot-tables-y-crosstab/README.md)
- [030 — Pandas: operaciones vectorizadas sobre strings](030-pandas-operaciones-vectorizadas-sobre-strings/README.md)
- [031 — Pandas: series de tiempo, resampling, rolling](031-pandas-series-de-tiempo-resampling-rolling/README.md)
- [032 — Pandas: eval y query](032-pandas-eval-y-query/README.md)
- [033 — Matplotlib: anatomía figura/axes](033-matplotlib-anatomia-figura-axes/README.md)
- [034 — Matplotlib: line, scatter, bar, histogram, boxplot](034-matplotlib-line-scatter-bar-histogram-boxplot/README.md)
- [035 — Matplotlib: subplots y gridspec](035-matplotlib-subplots-y-gridspec/README.md)
- [036 — Matplotlib: legends, colorbars, ticks, anotaciones](036-matplotlib-legends-colorbars-ticks-anotaciones/README.md)
- [037 — Matplotlib: stylesheets](037-matplotlib-stylesheets/README.md)
- [038 — Matplotlib: 3D plotting](038-matplotlib-3d-plotting/README.md)
- [039 — Seaborn: distribuciones, relaciones, categóricas, facetas](039-seaborn-distribuciones-relaciones-categoricas-facetas/README.md)
- [040 — Visualización geográfica (Plotly / folium)](040-visualizacion-geografica-plotly-folium/README.md)
- [041 — SQL fundamental: SELECT, WHERE, JOIN, GROUP BY, HAVING](041-sql-fundamental-select-where-join-group-by-having/README.md)
- [042 — SQL avanzado: CTEs, window functions, subqueries correlacionadas](042-sql-avanzado-ctes-window-functions-subqueries-correlacionadas/README.md)
- [043 — SQL desde Python: sqlite3, SQLAlchemy, DuckDB](043-sql-desde-python-sqlite3-sqlalchemy-duckdb/README.md)
- [044 — NoSQL: MongoDB con pymongo](044-nosql-mongodb-con-pymongo/README.md)
- [045 — APIs REST con requests](045-apis-rest-con-requests/README.md)
- [046 — Web scraping con BeautifulSoup](046-web-scraping-con-beautifulsoup/README.md)

---

> [⬅️ Volver al programa](../../README.md) · [📚 Índice completo](../README.md) · [⏭️ Parte siguiente](../parte-1-machine-learning-clasico/README.md)
Loading
Loading