Guía de los notebooks del curso
Los notebooks de lessons/ML_Course son el complemento práctico de cada clase. Todos construyen el método desde cero en NumPy y lo comparan con scikit-learn, así que leerlos es la mejor forma de entender qué hace cada fórmula. Esta guía te dice qué mirar en cada uno para no perderte en el código.
Mapa rápido
Sección titulada «Mapa rápido»| Sesión | Notebooks | Tema | Teoría |
|---|---|---|---|
| 01 | 01a – 01e | datos, EDA, particiones, primer pipeline | fundamentos |
| 02 | 02a – 02d | regresión lineal desde cero | regresión |
| 03 | 03a – 03c | sesgo–varianza, ridge/lasso, CV | regularización |
| 04 | 04a – 04d | logística, métricas, softmax | clasificación |
| 05 | 05a – 05c | Naive Bayes, LDA, QDA | generativos |
| 06–07 | 06a, 06b, 07 | SVM, dual, kernels | SVM, kernels |
01a · Datos estructurados
Sección titulada «01a · Datos estructurados»- Qué hace: una tabla de departamentos → alquiler. Una fila = un ejemplo; separa la matriz y el target ; tipos de feature (continua, conteo, nominal, booleana); one-hot; escalas muy distintas;
DataFrame→ arreglo de NumPy. - Fíjate en: por qué una categoría nominal nunca se codifica como 1, 2, 3 (inventa un orden), y que las estadísticas para estandarizar salen solo del train.
- Ejercicio: codifica con
pd.get_dummies(..., drop_first=True): ¿cuántas columnas quedan y por qué conviene quitar una?
01b · Datos no estructurados
Sección titulada «01b · Datos no estructurados»- Qué hace: imágenes (matriz , tensor ), sonido (señal, FFT, espectrograma), series de tiempo (ventanas para formar ) y un vistazo a texto (bolsa de palabras).
- Fíjate en: aplanar una imagen o usar bolsa de palabras pierde estructura; en series de tiempo el test es el futuro (partición en orden temporal).
- Ejercicio: muestra
digits.images[42]como matriz y como imagen; ¿cuál es su etiqueta?
01c · EDA y limpieza
Sección titulada «01c · EDA y limpieza»- Qué hace:
.info(),.describe(), histogramas, faltantes; arregla tipos, categorías mal escritas, valores imposibles, duplicados; imputar vs eliminar; outliers con IQR. - Fíjate en: la regla «partir antes de transformar»: imputar o escalar con todo el dataset filtra información del test.
- Ejercicio: imputa una columna con la mediana y con la media: ¿cuándo difieren mucho?
01d · Train / validación / test
Sección titulada «01d · Train / validación / test»- Qué hace: la partición en tres; la trampa de afinar en el test; la maldición del ganador (hasta con datos de puro ruido); validación cruzada;
GridSearchCV; CV anidada; lista de fugas. - Fíjate en: la frase clave del notebook: todo conjunto que usas para decidir, lo ajustas. Por eso validación y test deben ser distintos. → Simulador equivalente: maldición del ganador.
- Ejercicio: cambia el
random_statede las particiones y vuelve a correr: ¿se mantiene la conclusión?
01e · Primer pipeline completo
Sección titulada «01e · Primer pipeline completo»- Qué hace: T/P/E → limpiar → separar test →
ColumnTransformer+Pipeline→ baseline → comparar modelos con CV → evaluar una vez en test → curva de sobreajuste → descenso de gradiente → guardar el modelo. - Fíjate en: el baseline (predecir la media) como vara de medir, y que todo el preprocesamiento vive dentro del pipeline.
- Ejercicio: en la sección 9 prueba
lr = 0.005ylr = 0.2: ¿cuál se arrastra y cuál diverge?
02a · Modelo y costo
Sección titulada «02a · Modelo y costo»- Qué hace: la recta , residuales, MSE, la superficie del costo como bowl (contorno y 3-D), búsqueda por fuerza bruta y la forma matricial.
- Fíjate en: por qué sumar residuales no sirve (se cancelan) y por qué el bowl tiene un solo mínimo.
- Ejercicio: sube el ruido (
noise=4.0): ¿el bowl se vuelve más plano o más empinado cerca del mínimo?
02b · Ecuaciones normales
Sección titulada «02b · Ecuaciones normales»- Qué hace: deriva , lo resuelve con
inv,solveylstsq, recupera coeficientes conocidos, compara con sklearn, muestra la proyección y qué pasa con features colineales. - Fíjate en: que
lstsqes más estable queinv, y que es la condición de las ecuaciones normales. → Calculadora. - Ejercicio: escribe en una línea
fit_normal(X, y)y compáralo conLinearRegression.
02c · Descenso de gradiente
Sección titulada «02c · Descenso de gradiente»- Qué hace: batch GD desde cero, la tasa de aprendizaje, cómo el escalado cambia la forma del bowl, SGD y mini-batch, un estimador propio comparado con sklearn.
- Fíjate en: el zigzag en un valle alargado y cómo desaparece al estandarizar. → Curvas de nivel.
- Ejercicio: encuentra la tasa de aprendizaje más grande que todavía converge.
02d · Evaluación y complejidad
Sección titulada «02d · Evaluación y complejidad»- Qué hace: MSE/RMSE/MAE/ desde cero, evaluar en datos separados, outliers, features polinómicas, interacciones, la curva en U y los pesos que explotan, un adelanto de ridge, el dataset diabetes.
- Fíjate en: «lineal» significa lineal en los parámetros. → Polinomios.
03a · Sesgo–varianza simulado
Sección titulada «03a · Sesgo–varianza simulado»- Qué hace: el experimento mental hecho código: re-muestrear, re-ajustar, y medir sesgo², varianza y σ² por Monte Carlo; la U al barrer el grado.
- Fíjate en: sesgo² baja y varianza sube con la complejidad; su suma más σ² es la U. → Simulador.
- Ejercicio: sube
NOISE_SD: ¿qué términos se mueven y dónde queda el mejor grado?
03b · Ridge y lasso desde cero
Sección titulada «03b · Ridge y lasso desde cero»- Qué hace: pesos que explotan; ridge en forma cerrada; lasso por descenso por coordenadas con soft-threshold; los mapas de encogimiento; caminos de coeficientes.
- Fíjate en: el soft-threshold en código y cómo los pesos del lasso llegan a exactamente cero. → Geometría ℓ1/ℓ2.
- Ejercicio: agrega dos copias correlacionadas de una feature: ¿qué hace el lasso (elige una) y qué hace ridge (las reparte)?
03c · Selección con validación cruzada
Sección titulada «03c · Selección con validación cruzada»- Qué hace: por qué una partición es ruidosa, K-fold desde cero (igual a sklearn), elegir λ en el mínimo de CV, el flujo honesto sin fugas, ridge vs lasso en diabetes.
- Fíjate en: en diabetes, la regularización casi empata con OLS en RMSE; su ganancia es la esparsidad del lasso.
- Ejercicio: aplica la regla de 1 error estándar: ¿generaliza igual el λ más simple?
04a · El modelo logístico
Sección titulada «04a · El modelo logístico»- Qué hace: por qué una recta no es probabilidad, la sigmoide estable, odds y log-odds, el odds ratio , la frontera como punto (1-D) y recta (2-D), la neurona.
- Ejercicio: sube la pendiente verdadera a
w=4.0: ¿la sigmoide se afila? ¿se mueve ? → Sigmoide.
04b · Entrenar desde cero
Sección titulada «04b · Entrenar desde cero»- Qué hace: por qué no error cuadrático (gradiente que se apaga, no convexo), cross-entropy como −log-verosimilitud, el gradiente verificado con diferencias finitas, convexidad, regularización L2.
- Fíjate en: el chequeo numérico del gradiente: es la forma de verificar cualquier derivada que implementes. → Superficie de pérdida.
- Ejercicio: prueba
lr=5.0ylr=0.02: ¿cuál diverge y cuál se arrastra?
04c · Evaluar un clasificador
Sección titulada «04c · Evaluar un clasificador»- Qué hace: matriz de confusión, precision/recall/F1, el umbral como perilla, ROC y AUC desde cero, por qué la accuracy miente con desbalance (cáncer de mama).
- Fíjate en: AUC = probabilidad de que un positivo al azar tenga mayor score que un negativo al azar. → Calculadora de métricas.
- Ejercicio: elige el umbral que logra recall ≥ 0.98: ¿cuántas falsas alarmas cuesta?
04d · Softmax
Sección titulada «04d · Softmax»- Qué hace: softmax estable, un score por clase, cross-entropy y su gradiente, la logística como softmax con K = 2, regiones de decisión, dígitos escritos a mano.
- Ejercicio: comprueba que sumar una constante a todos los scores no cambia la softmax. → Regiones.
05a · Naive Bayes gaussiano
Sección titulada «05a · Naive Bayes gaussiano»- Qué hace: una gaussiana por feature y clase, el supuesto «naive» (producto), el clasificador en log-espacio, la frontera, datos reales (wine); coincide exactamente con
GaussianNB(incluidovar_smoothing). - Fíjate en: entrenar es contar y promediar: no hay optimizador ni tasa de aprendizaje. → Naive Bayes.
05b · LDA y QDA
Sección titulada «05b · LDA y QDA»- Qué hace: la covarianza como forma (elipses inclinadas), ajustar , y la Σ agrupada, el discriminante , QDA curva vs LDA recta con , el posterior de LDA como sigmoide.
- Fíjate en: una convención de sklearn: su QDA divide por . → LDA en 1-D.
05c · Comparar los generativos
Sección titulada «05c · Comparar los generativos»- Qué hace: las tres fronteras lado a lado; cuántos datos necesita cada uno; el régimen donde las clases sí comparten forma; datos reales; regla práctica para elegir.
- Fíjate en: con pocos datos el modelo más simple suele ganar aunque su supuesto sea falso; QDA se rompe con grande (necesita regularización). → Curvas generativo vs discriminativo.
06a · Margen máximo y margen suave
Sección titulada «06a · Margen máximo y margen suave»- Qué hace: el ejemplo de tres puntos verificado a mano; margen funcional vs geométrico; solo los vectores de soporte importan (agregar puntos lejanos deja
coef_idéntico bit a bit); margen suave, los tres casos y el barrido de C; la hinge como pérdida + penalización; por qué escalar en cáncer de mama. - Fíjate en: el experimento de agregar puntos lejanos sin cambiar nada. → Arrastra los puntos.
06b · El dual y el truco del kernel
Sección titulada «06b · El dual y el truco del kernel»- Qué hace: resuelve el dual con SciPy (SLSQP) y recupera , , ; dualidad fuerte y ; los tres casos KKT; esparsidad; la predicción solo usa productos internos; mapa explícito vs kernel polinómico.
- Fíjate en: con cambiar una línea (el producto interno por un kernel) el mismo solver se vuelve un SVM RBF. → Explorador del dual.
07 · Kernels en la práctica
Sección titulada «07 · Kernels en la práctica»- Qué hace: kernels válidos (Gram simétrica PSD, con autovalores) y dos impostores que fallan; la Gram como mapa de similitud; el zoo y el RBF infinito truncado; γ como dial de complejidad y la grilla (C, γ); kernel ridge en forma cerrada, igual a ridge con kernel lineal; comparación honesta en diabetes.
- Fíjate en: el impostor
tanhy la distancia: autovalores negativos. → Prueba PSD.