Unidad 3 · Medir si el modelo sirveClase 9 de 23
Clase 9 · Generalización, extrapolación y datos no vistos

Objetivo. Decidir si una predicción es confiable según los datos que el modelo vio, y explicar una caída de rendimiento.

Ficha Bloom · Evaluar
  • Evidencia de aprendizaje: Distingue interpolar de extrapolar y descompone una caída de validación a test en sus mecanismos.
  • Actividad final: Las dudas resueltas del árbol de 45 cm y del agrónomo, al final de esta clase.
  • Criterio de dominio: Declara la extrapolación y explica la caída con dos mecanismos: haber decidido con esos datos y el cambio de distribución.
Activación. Tu recta tiene R² = 0,93 con árboles de 8 a 22 cm de radio. Te piden el peso de uno de 45 cm. ¿Lo entregas? Escribe tu respuesta antes de seguir: la retomas en el cierre.

Generalización

Por qué un modelo bueno aquí puede ser malo allá.
Fundamentos de Ciencia de Datos · UdeC

Train / validation / test → Generalización → Overfitting y underfitting → …y 8 conceptos más
Dónde estás. Viene de train / validation / test y habilita el sobreajuste, los árboles, los ensambles y todo el bloque de modelos. Nueve conceptos quedan bloqueados si este no se entiende.

Su peso en la evaluación es medio —transversal a las preguntas 2, 3 y 7— pero su importancia curricular es de las más altas del programa. No es un concepto que se estudie para puntuar: es uno de los que sostienen el resto.

1 · Qué es, en una frase

El profesor lo definió con una pregunta y un ejemplo de mantenimiento:

«¿Qué quiere decir generalizar? Que sea capaz de funcionar para datos que no ha visto antes. […] si yo tengo un modelo que me predice cuando va a fallar una máquina por decir algo. No quiero que me prediga cuando falló la máquina. Quiero que me prediga cuando va a fallar el futuro» Clase del 31-jul · 0:42:10–0:42:24 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md]

Y lo dijo también «entre comillas»: es «como que la máquina no se aprenda de memoria los datos» [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:54]. El ejemplo de la máquina es la clave: predecir las fallas que ya ocurrieron no sirve de nada; el valor está en las que vienen.

Generalizar es funcionar donde no aprendiste. [DATITO]

Todo lo demás —sobreajuste, validación cruzada, el conjunto de test— existe para una sola cosa: estimar si el modelo va a generalizar, antes de apostar a que sí.

El problema es que generalizar no es una propiedad que se pueda observar directamente. Solo puedes estimarla, y toda estimación tiene un supuesto detrás.

2 · El supuesto que casi nadie declara

Cuando mides en un conjunto de test y dices «el modelo tiene MAE 188.218», estás afirmando algo más de lo que parece:

«Los datos donde voy a usar el modelo se parecen a los datos donde lo medí.»

Si eso deja de ser cierto, tu número deja de significar lo que crees. Y casi nunca es del todo cierto.

Hay tres formas de que se rompa, y conviene distinguirlas porque tienen remedios distintos:

Qué cambióNombreEjemplo
La distribución de las featuresCovariate shiftEn 2017 aparecen casas en barrios que no existían en 2016
La disponibilidad de una featureCambio de capturaCouncilArea está completa en 2016 y falta el 18,9 % en 2017
La relación entre features y targetConcept driftCambia la ley de arriendos y el precio por m² ya no se forma igual

3 · Predecir donde no hay datos: entre los puntos y fuera de ellos

Entre los puntos: el ejemplo del profesor

La primera demostración del profesor no fue fuera del rango, sino dentro: un polinomio de grado 10 que pasa muy cerca de todos los datos, y una consulta en un punto cualquiera de la curva.

«Imagínense que yo tengo este polinomio de grado 10 y lo ajusto a los datos y me queda esto y ahora yo pregunto por ejemplo este valor. Este valor de acá. […] pero es raro que ese sea el valor de ⟨y griega⟩ así como que no sigue la tendencia.» Clase del 31-jul · 0:41:34–0:41:56 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md] · ⟨⟩ = corrección de transcripción [INFERENCIA] (el ASR escribe «de griega»)

La transcripción no dice dónde señaló; que el valor raro esté entre los datos es la lectura habitual de ese dibujo y coincide con lo que un compañero describió minutos después: una curva de grado muy alto que pasa por todos los puntos y hace ondas entre ellos [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:47:23–0:47:38] [INFERENCIA].

Antes de mover nada: abajo hay 8 árboles [DATITO] y un polinomio de grado 7 que pasa exactamente por los 8 (error de entrenamiento cero). Consultas un radio de 8,5 cm, entre el árbol de 8 cm (72 kg) y el de 10 cm (88 kg). ¿Qué esperas?
Respuesta correcta y cómo se resuelve

Respuesta: puede salir un valor que no sigue la tendencia: aquí, unos 50 kg, menos que el árbol de 8 cm.

Cómo se resuelve: 1) un polinomio de grado 7 tiene 8 coeficientes, tantos como datos: puede pasar exacto por los 8; 2) para lograrlo se curva entre los puntos, sobre todo cerca de los bordes; 3) en 8,5 cm la curva baja hasta ~50 kg, aunque los vecinos pesan 72 y 88 kg; 4) con grado 1 la predicción queda en ~76 kg, entre los vecinos [DATITO: valores calculados con los datos ilustrativos de este lienzo].

Error típico: creer que dentro del rango observado el modelo siempre interpola bien. Eso vale para un modelo simple; uno que memorizó los datos puede fallar justo entre ellos. Tampoco da error: la fórmula está definida para cualquier radio.

De dónde sale: el ejemplo del grado 10 del profesor [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:41:34–0:41:56]; los números son [DATITO].

1 15 cm
–
Peso predicho
–
Vecinos medidos
–
¿Sigue la tendencia?
–
Error de entrenamiento (MSE)

8 árboles, cifras ilustrativas [DATITO]. «Sigue la tendencia» aquí significa: la predicción queda entre los pesos de los dos árboles medidos que la rodean [DATITO].

Lo que acabas de ver. El grado 7 tiene error de entrenamiento cero y, aun así, dentro del rango observado predice que un árbol de 8,5 cm pesa menos que uno de 8 cm. Estar «dentro del rango» no protege: lo que protege es que el modelo no haya memorizado los datos. Es el caso de la P7 del Certamen 2 (5 árboles, un polinomio que pasa por todos) y el tema de overfitting_underfitting.html.

Fuera de los puntos: extrapolar

Ahora el otro caso, con cifras ilustrativas [DATITO]: cortaste 20 árboles con radios entre 8 y 22 cm y ajustaste la recta. Te piden uno de 45 cm.

Antes de mover nada: el modelo tiene R² ≈ 0,97 sobre esos 20 árboles. Si le pides el peso de uno de 45 cm, ¿qué hace?
Respuesta correcta y cómo se resuelve

Respuesta: devuelve un número sin más, sin ninguna advertencia. Y por eso esa predicción no se entrega como confiable; se declara la extrapolación o se consiguen datos en ese rango.

Cómo se resuelve: 1) la recta ŷ = θ₀ + θ₁·x está definida para cualquier x, así que para 45 cm entrega un valor (~430 kg) igual que para 18 cm; 2) el R² ≈ 0,97 se midió con árboles de 8 a 22 cm: dice que la recta describe bien ese rango, nada sobre 45 cm; 3) fuera del rango no hay ningún dato que confirme que la relación siga siendo recta —y en árboles no lo es, porque el peso crece con el volumen, no en línea—; 4) por eso el número de 45 cm es una suposición, no una estimación respaldada: o se entrega diciendo explícitamente que es una extrapolación fuera del rango 8–22 cm, o se miden árboles de ese tamaño y se vuelve a ajustar.

Error típico: confiar en el R² alto como si valiera para cualquier radio, o esperar que el modelo avise. El modelo nunca avisa: la advertencia la pone quien lo usa.

De dónde sale: generalizar es funcionar con datos que el modelo no ha visto [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:10]; la regla de declarar el rango de validez y los números del lienzo son [DATITO].

18 cm
–
Peso predicho
–
Zona
–
Confianza

El modelo siempre te devuelve un número. No tiene forma de avisarte que está inventando. Dentro del rango observado interpola entre datos reales; fuera, solo prolonga una recta que nadie comprobó que siga siendo recta.

Un árbol de 45 cm probablemente no pesa el doble que uno de 22: los troncos crecen en volumen, no en línea.

4 · Tu propio proyecto lo midió

09_RESULTADOS/resultados_temporal.json

Modelo (log)R² train 2016R² test 2017Brecha
Árbol de decisión0,75230,61230,1400
Random Forest0,94230,71090,2314
Gradient Boosting0,88580,74660,1392
HistGradientBoosting0,92740,75710,1703

Random Forest aprende 2016 casi perfecto —0,94— y generaliza peor que Gradient Boosting, que aprende menos —0,89— y llega más lejos. Aprender mejor los datos no es generalizar mejor.

El dato que suele malinterpretarse

El 29,1 % de las propiedades de 2017 están en suburbios que no existen en 2016. Es tentador concluir que ahí está toda la degradación. No lo está:

Modelo (log)MAE suburbio NUEVOMAE suburbio CONOCIDODiferencia
HistGradientBoosting193.462186.0647.398
Gradient Boosting198.666189.8848.782
Random Forest227.081198.53128.550
La caída de CV a test en HistGradientBoosting es de 28.441 AUD. La diferencia entre suburbios nuevos y conocidos es de solo 7.398.

Los suburbios nuevos explican una fracción menor: la degradación afecta a todo 2017, no solo a las zonas nuevas. Es un año distinto, no solo un mapa distinto.
Fíjate en Random Forest: su diferencia entre zonas nuevas y conocidas es 28.550, casi cuatro veces la de HistGradientBoosting. El modelo que más memorizó la geografía de 2016 es el que peor se comporta donde esa geografía no existe.

Cómo lo llamó el profesor, y cómo nombrar el mecanismo

En las presentaciones del Hito 2, comentando el proyecto Melbourne, el profesor explicó por qué la barra de test 2017 sale más alta que la de validación cruzada en 2016:

«Y al momento de hacer la evaluación cruzada podrían haber elegido hiperparámetro. Entonces ustedes validaron con un subconjunto de datos, pero también tomaron decisiones con ese subconjunto de datos. Y después, cuando pasaron el 2017, ese modelo funciona un poco peor.» Presentaciones Hito 2 del 4-sep · 2:08:44–2:08:58 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-09-04T22_05_05Z_Fundamentos_en_Ciencia_de_Datos.md]
«Y es normal que funciona un poco peor porque los datos cambian un poco entre el 2016 y el 2017. Entonces el modelo está un poquito sobreajustado a los datos del 2016 y le cuesta un poco más predecir solo los datos del 2017, porque no lo ha visto antes.» Presentaciones Hito 2 del 4-sep · 2:08:58–2:09:21 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-09-04T22_05_05Z_Fundamentos_en_Ciencia_de_Datos.md]

Su diagnóstico junta dos mecanismos que conviene poder separar al escribir [INFERENCIA]:

MecanismoQué lo produceEn Melbourne
(a)Optimismo por haber decidido con esos datos: sobreajuste a la validación y al períodoLo que se elige mirando la validación queda algo favorecido por ella: «se podría sobreajustar el conjunto de ⟨validación⟩» [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:49:50–0:49:59] · ⟨⟩ = corrección de transcripción [INFERENCIA]Los modelos se compararon con K-Fold dentro de 2016 [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · l. 76–89]
(b)Cambio de distribución entre períodos2017 no es 2016: aparecen barrios nuevos, cambia la disponibilidad de variables, puede cambiar la relación con el precio (§2)29,1 % del test en suburbios nuevos; CouncilArea sin información en el 28,5 % de 2017 (§5)
No hay contradicción. «Un poquito sobreajustado a los datos del 2016» es exactamente eso: el modelo quedó ajustado a particularidades de 2016 —por (a) y porque (b) hizo que esas particularidades no se repitieran en 2017—. Lo que se castiga no es la palabra «sobreajuste»: es quedarse en la etiqueta sin decir con qué datos se decidió, qué cambió entre los períodos y cuánto explica cada cosa. [INFERENCIA]

Con los números del proyecto no se puede partir exactamente la caída de 28.441 AUD entre (a) y (b); lo que sí se sabe es que los suburbios nuevos explican una parte menor (7.398). Separarlas exigiría, por ejemplo, un trozo de 2016 que no se haya usado para ninguna decisión: si ahí también cae, es (a); lo que falte hasta 2017 es (b). [INFERENCIA]

Y conecta con una regla que el profesor dio en la Clase del 31-jul: el error de test «debiese caer dentro» de la distribución de los errores de validación [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:59:31]; si no, algo raro pasa. Está en validacion_cruzada.html §5, con el dibujo interactivo. Aplícala tú: los errores por fold están en 09_RESULTADOS/resultados_temporal.json (campo cv2016_MAE_std).

5 · La trampa: validar no siempre puede detectarlo

Caso real de este proyecto. Se quiso saber si añadir CouncilArea mejoraba el modelo. En validación cruzada dentro de 2016, mejoraba: ganaba 20 de 25 comparaciones pareadas.

Pero en 2017:

Situación en 2017Filas%
Valor conocido5.18271,5 %
Valor faltante1.36918,9 %
Categoría nunca vista en 20166939,6 %
Sin información utilizable2.06228,5 %

En 2016 esa columna está completa: cero faltantes, 19 categorías, todas conocidas. Así que la validación cruzada dentro de 2016 mide la feature en el único escenario donde siempre está disponible.

Ningún esquema de validación dentro de 2016 puede detectar un problema que solo existe en 2017.

Y no es un defecto de la validación cruzada: está bien hecha. Es que mide un problema más fácil que el real.

6 · La brecha, desarmada

Todo lo anterior se resume en una resta. Vale la pena mirarla de cerca, porque cada término responde una pregunta distinta.

brecha = R²train − R²test
TérminoQué mideRol
R²trainQué tan bien le va donde aprendióno mide calidad
R²testQué tan bien le va donde nunca estuvoesto sí mide
la restaCuánto de lo aprendido no se repite fueraes el diagnóstico

Los dos números solos no bastan. Un R² de train alto no es bueno ni malo: solo dice que el modelo memorizó bien. Lo que informa es la distancia entre ambos, más el nivel del segundo.

R² = 1 − SSres / SStot
TérminoQué esRol
SSresSuma de los errores de tu modelo, al cuadradolo mueve tu modelo
SStotSuma de los errores de predecir siempre la mediaes un dato del conjunto

Aquí está la clave de por qué el R² de train y el de test no son comparables sin más: SStot se calcula sobre el conjunto donde estás midiendo. Si 2017 tiene precios más dispersos que 2016, el rival cambia, y dos R² de conjuntos distintos miden contra varas distintas.

7 · Camino inverso: te dan los números

En una prueba no te van a contar la historia: te van a dar dos números. Haz el recorrido al revés.

Random Forest  ·  R²train = 0,9423  ·  R²test = 0,7109

1 · ¿Qué dice el primer número por sí solo?

Respuesta correcta y cómo se resuelve

Respuesta: casi nada sobre la calidad: solo que el modelo reproduce bien los datos con los que aprendió.

Cómo se resuelve: el 0,9423 es R² de entrenamiento: el modelo explica el 94 % de la variación de los datos con los que aprendió. Un modelo con suficiente capacidad puede llegar ahí memorizando, incluido el ruido.

Error típico: leerlo como «el modelo acierta el 94 %» o como evidencia de que generaliza. El error de entrenamiento no es evidencia: es la P7 del Certamen 2.

De dónde sale: [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md] para la cifra; la lectura es [INFERENCIA].

2 · ¿Y el segundo?

Respuesta correcta y cómo se resuelve

Respuesta: ese sí mide generalización: 0,7109 sobre datos que el modelo nunca vio (2017).

Cómo se resuelve: identifica dónde se midió: en el test, fuera del entrenamiento. Es lo único que se parece a lo que pasaría en producción.

Error típico: compararlo sin más con el 0,9423 como si fueran la misma vara: el R² se calcula contra la dispersión del conjunto donde se mide (§6).

De dónde sale: [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]; la definición de generalizar, Clase del 31-jul [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:10].

3 · ¿Qué historia cuenta la resta?

Respuesta correcta y cómo se resuelve

Respuesta: la brecha es 0,2314: casi un cuarto de lo que el modelo «sabía» no se repitió fuera.

Cómo se resuelve: 0,9423 − 0,7109 = 0,2314. Eso significa que buena parte de lo que aprendió eran particularidades de 2016 — combinaciones concretas de barrio, tamaño y precio que no volvieron a darse en 2017. No es que el modelo esté roto: es que aprendió cosas que no eran generalizables.

Error típico: atribuir toda la brecha a una sola causa. Parte es memorización de 2016 y parte es que 2017 es distinto (§4).

De dónde sale: [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]; la interpretación es [INFERENCIA].

4 · ¿Cómo se compara con los demás?

Respuesta correcta y cómo se resuelve

Respuesta: Gradient Boosting generaliza mejor que Random Forest aunque aprende menos: para producción se elige Gradient Boosting.

Modelotraintestbrecha
Gradient Boosting0,88580,74660,1392
Random Forest0,94230,71090,2314

Gradient Boosting aprende menos —0,886 frente a 0,942— y generaliza mejor —0,747 frente a 0,711.

Aprender mejor los datos no es generalizar mejor. Si tuvieras que elegir uno para producción, el número que decide es el segundo, no el primero.

Error típico: elegir Random Forest por su 0,9423.

De dónde sale: [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md].

Cálculo a mano

Dos modelos sobre los mismos árboles, cifras ilustrativas [DATITO]. El modelo A (grado 1) tiene MAE de entrenamiento 9 kg; el modelo B (grado 7) pasa por todos los puntos. Luego mides 3 árboles nuevos y anotas el error (real − predicho):

árbol nuevo 1árbol nuevo 2árbol nuevo 3
A · grado 1−8+14−11
B · grado 7+12−44+37

Calcula el MAE en los árboles nuevos de cada modelo, la brecha contra su MAE de entrenamiento, y di cuál generaliza.

Respuesta correcta y cómo se resuelve

Respuesta: MAE nuevos A = 11 kg (brecha 2 kg) y B = 31 kg (brecha 31 kg): generaliza A, el de grado 1.

A: (8 + 14 + 11) / 3 = 33 / 3 = 11 kg; brecha 11 − 9 = 2 kg.
B: (12 + 44 + 37) / 3 = 93 / 3 = 31 kg; su MAE de entrenamiento es 0, así que la brecha es 31 kg.

B «aprende» mejor (0 contra 9) y generaliza mucho peor (31 contra 11). Con tres árboles nuevos la conclusión es frágil, pero la dirección es clara.

Error típico: sumar los errores con signo: para B daría (12 − 44 + 37) / 3 ≈ 1,7 kg y parecería excelente. El MAE usa valores absolutos: los signos no se cancelan.

De dónde sale: las cifras son [DATITO]; que el error de entrenamiento no mide calidad es la P7 del Certamen 2.

Transferencia: salud

Un hospital de Concepción entrenó un modelo de riesgo de reingreso con sus pacientes de 2019 a 2023 y midió muy buen desempeño en un test de 2023. Ahora lo quieren usar en un hospital de Chillán en 2026 [DATITO]. Di (1) qué puede haber cambiado, usando las tres categorías del §2, (2) si hay extrapolación y dónde, y (3) cómo validarías antes de usarlo.

Respuesta correcta y cómo se resuelve

Respuesta: pueden haber cambiado los pacientes, la forma de registrar y la relación entre variables y reingreso; el buen desempeño de Concepción no se traslada sin más, y hay que validarlo con datos de Chillán antes de usarlo.

(1) Covariate shift: pacientes de otra edad, otra ruralidad, otras enfermedades frecuentes. Cambio de captura: otro sistema de fichas, variables que faltan o se registran distinto. Concept drift: cambios de protocolo o de tratamiento que alteran quién reingresa.

(2) Hay extrapolación si en Chillán aparecen valores fuera del rango observado en Concepción (por ejemplo, edades o combinaciones de diagnósticos que no existían en el entrenamiento). Dentro del rango también puede fallar, como en el ejemplo del grado 7.

(3) Validar como se va a usar: con datos de Chillán y posteriores al entrenamiento, aunque sean pocos, antes de confiar en el número de Concepción; y declarar el rango de validez. [DATITO]

Error típico: «funcionó muy bien en el test de 2023, así que funcionará en Chillán». El test de 2023 era del mismo hospital: no representa el uso nuevo.

De dónde sale: las tres categorías del §2 y el ejemplo de la máquina del profesor (predecir lo que viene, no lo que ya pasó) [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:16–0:42:24]; el caso de salud es [DATITO].

Distinción de certamen. Error de entrenamiento ≠ calidad del modelo (P7 del Certamen 2) y sobreajuste ≠ subajuste ≠ error alto (P2 del Certamen 2: el sobreajuste es predecir bien en entrenamiento y no generalizar a datos que no se han visto). Las dos se resuelven con la definición del profesor: generalizar es funcionar con datos que el modelo no vio. Sobreajuste y subajuste con más detalle en overfitting_underfitting.html.

8 · Qué hacer al respecto

EstrategiaQué consigue
Validar como vas a usarSi vas a predecir el futuro, valida contra el futuro: corte temporal, no aleatorio
Mirar la distribución del test, no su targetCuántos faltantes, cuántas categorías nuevas. Es información legítima: en producción también la tendrías
Preferir modelos con menor brechaAunque su rendimiento interno sea menor. Gradient Boosting sobre Random Forest
Declarar el rango de validez«Este modelo se entrenó con radios de 8 a 22 cm» es parte del entregable, no una nota al pie
Monitorear despuésEl ciclo vuelve al requerimiento. Un modelo en producción se degrada solo

9 · Procedimiento para el papel

ANTE UNA PREGUNTA DE GENERALIZACIÓN

1. ¿DÓNDE SE MIDIÓ?        dentro o fuera del entrenamiento
2. ¿LA BRECHA?             train vs test, no un número solo
3. ¿QUÉ CAMBIÓ ENTRE AMBOS?  features · disponibilidad · la relación
4. ¿LA VALIDACIÓN PODÍA VERLO?  si el problema solo existe fuera, no
5. ¿SE PIDE PREDECIR FUERA DEL RANGO OBSERVADO?
       sí → es extrapolación: se declara, no se entrega sin más
6. NOMBRAR EL MECANISMO    no la etiqueta

10 · Errores que el formato castiga

ErrorPor qué está mal
«Generaliza bien porque el R² de entrenamiento es alto»El entrenamiento no mide generalización. Nunca
Nombrar la caída entre validación y test con una sola etiqueta —«sobreajuste» o «cambio de distribución»— sin el mecanismoEl profesor la llamó «un poquito sobreajustado a los datos del 2016» y dio las dos razones: se decidió con ese subconjunto y los datos cambian entre años (§4). Hay que decir con qué datos se decidió, qué cambió y cuánto explica cada cosa
Entregar una extrapolación sin advertirlaEl modelo devuelve un número aunque no tenga datos para respaldarlo
Creer que dentro del rango observado el modelo es confiableUn polinomio de grado alto puede dar un valor absurdo entre los datos (§3, el ejemplo del profesor)
Atribuir toda la caída a una sola causaHay que comprobar la magnitud: 7.398 no explican 28.441
Suponer que validar bien garantiza generalizarLa validación solo mide los escenarios que puede observar
Antes de cerrar: explícaselo a alguien.

Un compañero sostiene: «el modelo tiene R² de 0,94, así que generaliza muy bien».

¿Tiene razón? Justifícalo con las dos cifras de Random Forest y di qué número habría que mirar en su lugar.

Es el formato exacto de tu profesor: verdadero o falso, con justificación. Y poder explicárselo a otro es la prueba de que lo entiendes. Escríbelo y llévalo a Datito.
Respuesta correcta y cómo se resuelve

Respuesta: no tiene razón: 0,94 es el R² de entrenamiento, que no mide generalización; el número que importa es el de test, 0,7109.

Respuesta modelo: «Falso. El 0,94 es el R² de Random Forest sobre los mismos datos de 2016 con los que aprendió: dice que los reproduce bien, no que funcione con datos nuevos. Generalizar es funcionar con datos que el modelo no ha visto, y eso lo mide el test: sobre 2017 el R² baja a 0,7109, una brecha de 0,2314. Casi un cuarto de lo que parecía saber no se repitió fuera, en parte porque aprendió particularidades de 2016 y en parte porque 2017 trae barrios y condiciones nuevas. Para decir si generaliza hay que mirar el R² de test y su distancia al de entrenamiento; con esos números, Gradient Boosting, que aprende menos, generaliza mejor.»

Cómo se resuelve: 1) identifica dónde se midió el 0,94: entrenamiento; 2) busca la cifra fuera de muestra: 0,7109; 3) calcula la brecha; 4) di qué número hay que mirar y por qué.

Criterios de corrección: dice falso; distingue entrenamiento de test; usa las dos cifras y la brecha; nombra el mecanismo si usa la palabra sobreajuste.

Error típico: responder «verdadero, porque 0,94 es un R² alto». Un R² alto de entrenamiento es compatible con un modelo que memorizó.

De dónde sale: cifras [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]; definición de generalizar [FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:10]; distinción de la P7 del Certamen 2.

A dónde seguir.

Cierre de la Clase 9 · Generalización, extrapolación y datos no vistos

Qué aprendiste

  • Generalizar es funcionar con datos que el modelo no ha visto.
  • Fuera del rango observado se extrapola: el número existe, la evidencia no.
  • Una caída de validación a test puede venir de haber decidido con esos datos o de que los datos cambiaron.

Qué no debes confundir

  • Interpolar ≠ extrapolar.
  • R² alto dentro del rango ≠ predicción confiable fuera de él.
  • Cambio de distribución ≠ sobreajuste, aunque se combinen.

Procedimiento para el papel

  1. Compara el caso a predecir con el rango de los datos.
  2. Si está fuera: declara la extrapolación o consigue datos.
  3. Ante una caída: ¿decidiste con esos datos? ¿cambió la población?

Viene de: Clase 8 · Validación cruzada y selección de modelos · Sigue: Clase 10 · Overfitting y underfitting

Vuelve a tu activación: Tu recta tiene R² = 0,93 con árboles de 8 a 22 cm de radio. Te piden el peso de uno de 45 cm. ¿Lo entregas? ¿Cambiarías tu respuesta?

Pregunta final. El 29,1 % del test de 2017 son suburbios que no existen en los datos de 2016. ¿Qué tipo de problema de generalización es?
Respuesta correcta y cómo se resuelve

Un cambio de distribución: el modelo predice casos con un valor (el suburbio) que nunca vio, y solo puede apoyarse en variables que sí vio, como ubicación y tipo. [FUENTE · Repo: 09_RESULTADOS/resultados_temporal.json]

El cierre es una síntesis de la clase [DATITO]: cada afirmación tiene su fuente en el cuerpo de este visual. Fuente del cierre: 07_DATITO/clases.yaml.

Continuar → Clase 10 · Overfitting y underfitting

Dudas resueltas con Datito, en orden

Lo que se trabajó en las sesiones sobre este tema, para volver a leerlo y re-intentarlo. Primero responde tú; después abre la respuesta. Fuente: 07_DATITO/dudas.yaml.

18-sep · quedó abierta en la sesión: aquí está la respuesta · Generalizacion, Train / validation / test · también en 05_train_validation_test.html

Pregunta. En Melbourne, el MAE de validación cruzada en 2016 y el de test en 2017 fueron: baseline (mediana) 449.160 → 431.649 (mejora 17.511); árbol de decisión 219.821 → 246.568 (empeora 26.747); HistGradientBoosting 159.777 → 188.218 (empeora 28.441). ¿Por qué el baseline mejora al pasar a 2017 mientras los modelos empeoran, y por qué el mejor modelo es el que más empeora?

Lo que respondiste en la sesión: Intento 1: «entonces, podemos hablar de un sobreajuste». Intento 2: «el modelo fue entrenado con datos del 2016, pero un modelo que deberías validar, o que debería probar es gradient boosting, o random forest».

Respuesta correcta y cómo se resuelve

Respuesta. El baseline no aprendió nada de 2016 salvo un número (la mediana, 900.000), así que su error solo refleja qué tan dispersos están los precios del año que mide; los modelos aprendieron relaciones de 2016 que en 2017 valen menos, y además fueron elegidos mirando 2016, por eso el más ajustado a 2016 es el que más pierde.

  1. El baseline: predecir siempre 900.000 da MAE 449.122 sobre los precios de 2016 y 431.649 sobre los de 2017 (este último es exactamente su MAE de test). Los precios de 2017 están algo menos dispersos alrededor de 900.000. La «mejora» es una propiedad de los datos, no del modelo.
  2. Los modelos: aprendieron cómo se relacionan ubicación, tipo y tamaño con el precio EN 2016. En 2017 el 29,1 % de las propiedades están en suburbios que no existían en 2016: parte de lo aprendido ya no aplica (cambio de distribución).
  3. El mejor es el que más empeora (HGB +17,8 %, 159.777 → 188.218; árbol +12,2 %): es el que más estructura fina de 2016 capturó, y además fue ELEGIDO por tener el menor error en 2016, así que su número de validación es optimista.
  4. Así lo dijo el profesor al comentar este mismo proyecto: los datos «cambian un poco entre el 2016 y el 2017» y «también tomaron decisiones con ese subconjunto de datos», y lo llamó «un poquito sobreajustado a los datos del 2016». Son dos mecanismos: optimismo por selección y cambio de distribución.
  5. Por qué no basta decir «sobreajuste»: las dos columnas de la tabla son datos que el modelo no usó para entrenar. Sin nombrar el mecanismo, la etiqueta no explica por qué el baseline mejora.

Error típico. Poner la etiqueta «sobreajuste» sin mecanismo, o proponer otro modelo sin leer que la tabla ya contiene los resultados del propio proyecto.

[FUENTE · Repo: 09_RESULTADOS/resultados_temporal.json] MAE de CV 2016 y test 2017
[FUENTE · Repo: 02_DATOS/housing_dashai_2016_2017.csv + 09_RESULTADOS/dashai_split_indices.json] MAE de predecir 900.000: 449.122 (2016) y 431.649 (2017), calculado el 2026-09-21
[FUENTE · Repo: 05_CLASES/transcripciones/2026-09-04T22_05_05Z_Fundamentos_en_Ciencia_de_Datos.md · 2:08:49–2:09:16] comentario del profesor
[INFERENCIA] la descomposición en dos mecanismos
Contexto de la sesión: 07_DATITO/07_BITACORA/2026-09-18-train_validation_test.md

21-sep · resuelta en la sesión · Regresion, Generalizacion · también en ../../02_REFERENCIA/clase6_regresion.html

Pregunta. Cortaste 20 árboles y ajustaste la recta: R² = 0,93. Tu jefe te pide predecir el peso de un árbol de radio 45 cm. Los 20 árboles tenían radios entre 8 y 22 cm. ¿Le entregas la predicción? Justifica.

Respuesta correcta y cómo se resuelve

Respuesta. No como una predicción confiable: 45 cm está fuera del rango observado (8–22 cm), es una extrapolación; si se entrega, va con esa advertencia explícita, y lo correcto es medir árboles de ese tamaño.

  1. El rango de tus datos es 8–22 cm. 45 cm es más del doble del máximo: el modelo nunca vio un árbol así.
  2. R² = 0,93 mide el ajuste a los 20 árboles con que ajustaste la recta, todos dentro de 8–22 cm. No dice nada fuera de ese rango.
  3. El modelo igual devuelve un número. Con la recta de la página (θ₁ ≈ 9,72 kg por cm, θ₀ ≈ −6,9 kg): ŷ = −6,9 + 9,72·45 ≈ 430 kg. Tener un número no es tener evidencia.
  4. El peso crece con el volumen (aprox. radio² × altura), más rápido que una recta: con árboles grandes la recta probablemente se queda corta.
  5. Qué haces: entregas el número declarando la extrapolación y por qué no es confiable, o mides árboles grandes y vuelves a ajustar.
  6. Frase para la prueba: «No la entrego como confiable: 45 cm está fuera del rango observado (8–22 cm), así que es extrapolación. El R² de 0,93 mide el ajuste solo dentro de ese rango.»

Error típico. Creer que un R² alto autoriza a predecir en cualquier parte; el R² se calculó solo donde había datos.

[FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:10] generalizar: funcionar para datos que no ha visto antes
[FUENTE · Repo: 07_DATITO/02_REFERENCIA/clase6_regresion.html] los 20 árboles y la recta de mínimos cuadrados
[INFERENCIA] «extrapolación»: el profesor no usa esa palabra en las 14 transcripciones
[DATITO] el argumento físico del volumen
Contexto de la sesión: 07_DATITO/07_BITACORA/2026-09-21-regresion_generalizacion.md

21-sep · práctica: intenta antes de abrir la respuesta · Generalizacion, Regresion

Pregunta. (Transferencia) Un agrónomo ajustó una recta de rendimiento contra lluvia con datos entre 300 y 600 mm, y le piden predecir un año de 1.200 mm. ¿Qué le dices?

Respuesta correcta y cómo se resuelve

Respuesta. Que no la entregue como confiable: 1.200 mm está al doble del máximo observado, es una extrapolación; y en agronomía es esperable que el rendimiento deje de subir o caiga con exceso de agua, justo lo que una recta no puede mostrar.

  1. Reconoce el concepto sin que te lo nombren: es el mismo problema del árbol de 45 cm en otro dominio.
  2. Rango observado 300–600 mm; 1.200 mm está fuera: extrapolación.
  3. La recta sigue subiendo para siempre; el cultivo no: con exceso de agua hay anegamiento, enfermedades y lavado de nutrientes. Fuera del rango, la forma de la relación puede cambiar por completo.
  4. Qué hacer: declarar la extrapolación, buscar datos de años muy lluviosos (o de otra zona con esa lluvia), o no entregar número.

Error típico. Tratarlo como un problema nuevo en vez de reconocer la misma estructura (predicción fuera del rango).

[DATITO] el caso y el argumento agronómico
[FUENTE · Repo: 05_CLASES/transcripciones/06Clase_Fundamentos_en_Ciencia_de_Datos_31_de_julio.md · 0:42:10] generalizar: datos que no ha visto antes
Contexto de la sesión: 07_DATITO/07_BITACORA/2026-09-21-regresion_generalizacion.md