Unidad 5 · Modelos más potentesClase 15 de 23
Clase 15 · Árboles de decisión (este archivo contiene las clases 15 y 16)

Objetivo. Calcular la impureza de Gini de un corte y explicar cómo el árbol elige sus preguntas.

Ficha Bloom · Aplicar
  • Evidencia de aprendizaje: Calcula el Gini ponderado de dos cortes y elige el mejor.
  • Actividad final: El ejercicio de Gini con los números del profesor.
  • Criterio de dominio: Obtiene 0,46875 para un nodo con 3/8 y 5/8, y elige el corte de mayor ganancia.
Activación. Tienes 9 triángulos y 8 círculos. ¿Qué corte los separa mejor, y cómo lo mides? Escribe tu respuesta antes de seguir: la retomas en el cierre.
Unidad 5 · Modelos más potentesClase 16 de 23
Clase 16 · Random Forest y ensambles (este archivo contiene las clases 15 y 16)

Objetivo. Explicar por qué combinar modelos mejora solo si sus errores no están correlacionados.

prerrequisitosClase 15 · Árboles de decisión
habilitaClase 17 · Redes neuronales
tiempo estimado~35 min
Ficha Bloom · Analizar
  • Evidencia de aprendizaje: Distingue número de modelos de diversidad, y explica el bootstrap de filas y los atributos al azar.
  • Actividad final: El simulador de votación con correlación entre errores.
  • Criterio de dominio: Argumenta con la correlación de los errores (C2 P1) y explica la importancia de variables por conteo.
Activación. Tienes 10 modelos que se equivocan exactamente en los mismos casos. ¿Mejora la decisión si los haces votar? Escribe tu respuesta antes de seguir: la retomas en el cierre.

Arboles de Decision y Ensambles

Complejos, interpretables, sesgo-varianza

  1. Sacas un triángulo con probabilidad 1/4. Si pasa, dices «todo es triángulo» y fallas en los 3 círculos: error 3/4.
  2. Sacas un círculo con probabilidad 3/4. Dices «todo es círculo» y fallas en el triángulo: error 1/4.
  3. Error esperado = 1/4 · 3/4 + 3/4 · 1/4 = 3/16 + 3/16 = 0,375.

Si el conjunto fuera solo círculos, siempre sacarías un círculo y nunca fallarías: 0. Si fuera mitad y mitad, 1/2 · 1/2 + 1/2 · 1/2 = 0,5, el máximo con dos clases. Gini alto = mezclado. Gini 0 = puro.

Ejercicio 1 · cálculo a mano · los números del profesor

Las láminas 27, 28 y 29 usan tres conjuntos de 8 figuras. Calcula el Gini de cada uno con el juego de arriba, sin mirar la lámina:

(a) 3 triángulos y 5 círculos · (b) 1 triángulo y 7 círculos · (c) 0 triángulos y 8 círculos. En (c) explica además por qué da lo que da: fue la pregunta que el profesor le hizo al curso.

Respuesta correcta y cómo se resuelve

Respuesta: (a) 0,46875; (b) 0,21875; (c) 0, porque en un conjunto puro nunca te equivocas al predecir todo con la clase del objeto que sacaste.

Cómo se resuelve:

  1. (a) P(△) = 3/8 y su error 5/8; P(○) = 5/8 y su error 3/8. Gini = 3/8 · 5/8 + 5/8 · 3/8 = 15/64 + 15/64 = 30/64 = 0,46875.
  2. (b) P(△) = 1/8 y su error 7/8; P(○) = 7/8 y su error 1/8. Gini = 7/64 + 7/64 = 14/64 = 0,21875.
  3. (c) P(△) = 0 y P(○) = 1, pero el error de haber sacado un círculo es 0, porque no hay ningún triángulo que clasificar mal: 0 · 1 + 1 · 0 = 0. Así lo razonó el profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:23:36–1:23:50].
  4. Lectura: (a) es el más mezclado, (b) está más cerca de puro, (c) es puro.

Error típico: sumar las probabilidades sin multiplicarlas por su error (siempre da 1), o leer el número al revés y creer que 0,47 es «más puro» que 0,22. Otro: quedarse con el redondeo que se dijo en clase, «0,46» y «0,21 o 0,22» [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:22:57–1:23:05]; los valores exactos son los de la lámina. En el papel, escribe la fracción antes del decimal.

De dónde sale: láminas 27, 28 y 29 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 27].

Recién ahora, la notación

IG = Σi=1..C (Ni/N) · (1 − Ni/N)
Cnúmero de clases (en el ejemplo, 2) dato
Nnúmero de puntos en el nodo dato
Nipuntos de la clase i en ese nodo dato
Ni/Nprobabilidad de sacar la clase i: el primer factor del juego
1 − Ni/Nel error si sacaste la clase i: el segundo factor

Fórmula de la lámina 29 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 29], dicha en clase para C clases [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:22:31–1:22:53]. Con dos clases se reduce a 2·p·(1 − p), con p la proporción de una de ellas [INFERENCIA]. Nada de esto lo aprende el modelo: es una regla para medir nodos. Lo que decide la persona es qué medida usar.

Con una medida por nodo, un corte se juzga comparando al padre con sus hijos:

ΔI = I(A) − [N(B)/N(A)]·I(B) − [N(C)/N(A)]·I(C)
Anodo padre, antes del corte dato
B, Clos dos hijos que deja el corte
I( )impureza de un nodo: Gini, entropía o error de clasificación decisión
N(B)/N(A)peso del hijo B: qué fracción de los puntos del padre se fue a B
ΔIganancia de pureza: cuánta mezcla eliminó el corte el algoritmo la calcula para cada corte candidato

La lámina 31 dice «Comparar: impureza del nodo padre · impureza de los nodos hijos» [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 31]; la fórmula escrita es la que transcribe el resumen híbrido de esa lámina [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/Resumen_Clase7_Clasificacion.md · lámina 18 del resumen, §7.7.6]. El peso lo explicó el profesor: si hay muchos objetos en un lado, esa impureza pesa más que la del otro [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:27:26–1:27:37].

Camino inverso · te dan IG escrita en el papel

Reconstruye el fenómeno desde la fórmula: (1) ¿cuánto vale en un nodo puro, y por qué? (2) ¿Cuándo es máxima con dos clases, y cuánto vale? (3) ¿Puede un corte dejar la impureza ponderada peor que la del padre?

Respuesta correcta y cómo se resuelve

Respuesta: (1) vale 0; (2) es máxima con mitad y mitad, y vale 0,5; (3) con Gini, no: la ganancia de un corte nunca es negativa.

Cómo se resuelve:

  1. (1) En cada término de la suma, o Ni/N = 0 (la clase no está) o 1 − Ni/N = 0 (es la única). Todos los términos son 0.
  2. (2) Con dos clases, IG = 2·p·(1 − p): una parábola que vale 0 en p = 0 y en p = 1 y tiene su máximo en p = 0,5, donde da 2 · 0,5 · 0,5 = 0,5.
  3. (3) Las proporciones del padre son el promedio ponderado de las de sus hijos, y el Gini es una curva «hacia abajo» (cóncava): el promedio ponderado de los Gini de los hijos nunca supera al Gini del padre. Ejemplo: el corte C del plano de abajo casi no sirve, y aun así su ganancia es positiva (≈ 0,035).
  4. Consecuencia: si cortar nunca empeora la cuenta, el algoritmo necesita otra razón para detenerse. Esa razón son los criterios de la lámina 33, más abajo.

Error típico: pensar que el árbol se detiene solo «cuando cortar ya no mejora». Con Gini siempre mejora o empata, así que sin frenos corta hasta dejar hojas puras.

De dónde sale: fórmula de la lámina 29 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 29]; (2) [INFERENCIA]; (3) [DATITO].

Tres medidas, y quién elige entre ellas

Medida (lámina 30)FórmulaMáximo con 2 clasesEn palabras
GiniΣ pi(1 − pi)0,5error esperado del juego de sacar un objeto
Entropía−Σ pi log₂ pi1información promedio del experimento de sacar un dato
Error de clasificación1 − máx pi0,5error si clasificas todo de una misma forma (la clase mayoritaria)

Medidas de la lámina 30 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 30]; máximos de Gini (0,5) y entropía (1) dichos en clase [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:24:41–1:24:56]; el del error de clasificación sale de la fórmula [INFERENCIA]. Ojo: el resumen híbrido advierte que la lámina 30 imprime la entropía sin el signo menos; con el signo queda positiva y coincide con la curva de la lámina [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/Resumen_Clase7_Clasificacion.md · lámina 18 del resumen].

¿Cuál conviene? Un compañero lo preguntó, y la respuesta vino como otra pregunta: ¿cómo se llama algo que tienes que escoger antes de ajustar el modelo?

«Es un hiperparámetro […]. Entonces, tú lo tienes que elegir a priori y generalmente […] lo elige usando validación cruzada. ⟨Acuérdense⟩ que si no saben la respuesta, digan validación cruzada. No, no siempre, la mayor parte de las veces la respuesta es validación cruzada.» Clase del 7-ago · 1:26:06–1:26:31 · profesor, respondiendo a un compañero que preguntó qué medida de impureza conviene · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md] · ⟨⟩ = corrección de transcripción [INFERENCIA]
Traducido: la medida de impureza no se aprende de los datos ni tiene una ganadora universal. Es un hiperparámetro, igual que el grado del polinomio, y se elige con validación cruzada. Un compañero agregó que la entropía cuesta más de calcular por el logaritmo; el profesor no dio otro criterio [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:25:11–1:25:25].

Muévelo tú: tres cortes candidatos sobre los 17 puntos

El plano reproduce el ejemplo del profesor: 9 triángulos y 8 círculos. Los conteos son los suyos; las posiciones exactas son inventadas para que sus cortes funcionen [DATITO]. Tres candidatos para el primer corte:

Antes de tocar el plano, predice: ¿qué corte tiene la mayor ganancia de pureza?
Anotado. Ahora usa el plano (cualquier botón o el deslizador): el contraste aparece cuando lo muevas.
Respuesta correcta y cómo se resuelve

Respuesta: gana el corte A (x₁ ≤ 4, el del profesor), con ganancia ≈ 0,209, contra ≈ 0,101 de B y ≈ 0,035 de C.

Cómo se resuelve (Gini):

  1. Padre, 9△ 8○: 2·(9/17)(8/17) = 144/289 ≈ 0,4983.
  2. A: hijos 1△ 6○ (≈ 0,2449) y 8△ 2○ (0,3200). Ponderada 7/17 · 0,2449 + 10/17 · 0,3200 ≈ 0,2891. Ganancia ≈ 0,4983 − 0,2891 = 0,2092.
  3. B: hijos 4△ 7○ (≈ 0,4628) y 5△ 1○ (≈ 0,2778). Ponderada 11/17 · 0,4628 + 6/17 · 0,2778 ≈ 0,3975. Ganancia ≈ 0,1008.
  4. C: hijos 9△ 7○ (≈ 0,4922) y 1○ (0). Ponderada 16/17 · 0,4922 ≈ 0,4632. Ganancia ≈ 0,0350.

Error típico: elegir C porque «deja un hijo puro», o B porque «deja un lado casi puro». Es mirar un solo hijo y olvidar la ponderación por tamaño: un hijo de 1 punto pesa 1/17, y el otro hijo, que pesa 16/17, queda casi tan mezclado como el padre.

De dónde sale: los conteos del corte A son del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:15:32–1:15:40]; la fórmula de ganancia, de la lámina 31 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 31]; las posiciones y los cortes B y C son [DATITO].

Cortes candidatos
Tu corte x₁ ≤ 4,00
Medida
—
Impureza del padre
—
lado ≤
—
lado >
—
Impureza ponderada
—
Ganancia de pureza

Prueba también: cambia la medida y vuelve a buscar el mejor corte. En este plano gana el mismo corte con las tres medidas; con error de clasificación, tres cortes distintos empatan en el segundo lugar (ganancia 0,2353), porque esa medida solo mira la clase mayoritaria y es la más gruesa para distinguir cortes [DATITO · cifras de este plano ilustrativo]. El corte A es el que el profesor hizo en clase; su ganancia (≈ 0,2092) no la calculó él: la desarrolla el resumen híbrido [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/Resumen_Clase7_Clasificacion.md · lámina 18 del resumen] y la reproduce el plano.

Ejercicio 2 · cálculo a mano · el árbol completo del profesor

Después del primer corte, el profesor cortó cada mitad por x₂ [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:15:40–1:16:05]: la izquierda (1△ 6○) quedó en 1△ 1○ arriba y 5○ abajo; la derecha (8△ 2○), en 1○ arriba y 8△ 1○ abajo. El botón «Ver el árbol completo del profesor» lo dibuja, pero no calcula estas ganancias.

(a) Calcula con Gini la ganancia de cada uno de esos dos cortes (cada mitad es ahora el «padre»). ¿Cuál limpió más? (b) Escribe la probabilidad que entrega cada una de las cuatro hojas. (c) Un objeto nuevo cae en la hoja 8△ 1○ y tu regla es decir «triángulo» solo si P(△) ≥ 0,9. ¿Qué respondes?

Respuesta correcta y cómo se resuelve

Respuesta: (a) el corte de la izquierda gana ≈ 0,102 y el de la derecha ≈ 0,142: limpió más el de la derecha; (b) las hojas entregan 50 % círculo, 100 % círculo, 100 % círculo y 89 % triángulo; (c) respondes «círculo» (no triángulo), porque 0,89 no llega a 0,9.

Cómo se resuelve:

  1. Izquierda. Padre 1△ 6○: 2·(1/7)(6/7) = 12/49 ≈ 0,2449. Hijos: 1△ 1○ → 0,5; 5○ → 0. Ponderada: 2/7 · 0,5 + 5/7 · 0 ≈ 0,1429. Ganancia ≈ 0,2449 − 0,1429 = 0,102.
  2. Derecha. Padre 8△ 2○: 2·(8/10)(2/10) = 0,32. Hijos: 1○ → 0; 8△ 1○ → 2·(8/9)(1/9) = 16/81 ≈ 0,1975. Ponderada: 1/10 · 0 + 9/10 · 0,1975 ≈ 0,1778. Ganancia ≈ 0,32 − 0,1778 = 0,142.
  3. Hojas: 1△ 1○ → 1/2 = 50 % círculo (el caso que comentó el profesor) · 5○ → 100 % círculo · 1○ → 100 % círculo · 8△ 1○ → 8/9 ≈ 89 % triángulo.
  4. Umbral: P(△) = 0,89 < 0,9, así que la regla no dice «triángulo». La hoja es la misma; cambió el umbral. La clase la decide quien fija el umbral, no el árbol.

Error típico: usar como «padre» el nodo raíz (9△ 8○) en vez de la mitad que se está cortando; o, en (c), responder «triángulo» porque es la clase mayoritaria de la hoja, sin aplicar el umbral.

De dónde sale: conteos del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:15:40–1:16:05]; él no calculó estas ganancias en clase: la aritmética es de Datito [INFERENCIA].

El algoritmo, y cuándo parar

La lámina 32 lo escribe como receta, el algoritmo C4.5: mientras no se cumpla algún criterio de convergencia, para cada atributo calcula la ganancia de dividir en ese atributo; quédate con el de mayor ganancia; crea un nodo que separe según él, y aplica lo mismo a cada subconjunto [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 32]. El botón «Buscar el mejor corte» hace exactamente el primer paso.

La lámina 33 lista cuándo parar: el nodo contiene una sola clase; contiene menos objetos que un valor deseado; se alcanzó una altura máxima; la pureza es suficiente; o se comienza a sobreajustar, lo que se detecta con validación cruzada [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 33].

«cuando se alcanza una altura máxima, cuando la pureza es suficiente o cuando se comienza a sobreajustar. Y ahí uno puede estar ⟨a medida⟩ que empieza a dividir, […] haciendo validación cruzada.» Clase del 7-ago · 1:28:17–1:28:28 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md] · ⟨⟩ = corrección de transcripción [INFERENCIA]
Distinción de certamen · Certamen 2, P4. La ganancia de pureza es un criterio para construir el árbol (decidir dónde cortar), no una métrica para evaluar un clasificador terminado. En el certamen apareció como alternativa trampa en «¿cuáles se usan para evaluar un modelo de clasificación?». Ficha completa: certamen_2.html#p4.
Pregunta estilo certamen: ¿la ganancia de pureza se usa para evaluar un modelo de clasificación?
Respuesta correcta y cómo se resuelve

Respuesta: no. La ganancia de pureza sirve para construir el árbol; en la P4, las alternativas que sí evalúan un clasificador eran el área bajo la curva ROC, la tasa de falsos positivos y la exactitud.

Cómo se resuelve:

  1. Pregúntate qué compara: la ganancia compara la impureza del nodo padre con la de sus hijos (lámina 31).
  2. Pregúntate cuándo se usa: dentro de C4.5, para elegir el atributo y el corte (lámina 32), mientras el árbol se construye.
  3. Una métrica de evaluación compara predicciones con etiquetas reales de datos que el modelo no usó (exactitud, tasa de falsos positivos: lámina 18; ROC: láminas 22–24). La ganancia no hace eso: queda fuera.

Error típico: marcarla porque «suena a calidad del modelo». Criterio para construir ≠ métrica para juzgar.

De dónde sale: análisis de la P4 [FUENTE · Repo: 07_DATITO/04_EJERCICIOS/certamen_2.html · P4] y láminas 18, 31 y 32 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 31].

El árbol sin límite: una máquina de sobreajustar

[DATITO] Como con Gini cortar nunca empeora la cuenta, un árbol sin criterio de parada sigue cortando hasta que cada hoja queda pura; en el extremo, una hoja por dato. En entrenamiento acierta todo. En datos nuevos, cada hoja de un solo punto es una opinión basada en un único ejemplo, ruido incluido. Es el patrón «bueno dentro, malo fuera» de overfitting_underfitting.html. Los criterios de la lámina 33 —altura máxima, mínimo de objetos por nodo, validación cruzada— son precisamente los frenos.

Ejercicio 3 · interpretación · el árbol de tu proyecto

En Melbourne, tu árbol de decisión sobre log1p(Price) obtuvo R² 0,7523 en train 2016 y 0,6123 en test 2017 [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]. Estaba configurado con max_depth=8, min_samples_leaf=20 [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · línea 58].

(a) Calcula la brecha. (b) ¿Es el «árbol sin límite» de esta sección? ¿Qué número lo delata? (c) ¿Toda la brecha es sobreajuste? Nombra la otra causa que existe en tu proyecto.

Respuesta correcta y cómo se resuelve

Respuesta: la brecha es 0,1400; no es un árbol sin límite (su R² de train, 0,75, lo delata); y no toda la brecha es sobreajuste, porque parte es el cambio entre 2016 y 2017.

Cómo se resuelve:

  1. (a) Brecha = R² train − R² test = 0,7523 − 0,6123 = 0,1400.
  2. (b) Un árbol sin límite llega a un R² de train cercano a 1, porque sus hojas terminan casi con una casa cada una [INFERENCIA]. El 0,7523 de train dice que los frenos (profundidad 8, hojas de al menos 20 casas) le impidieron memorizar; tanto, que también es el peor de tus cuatro modelos de árboles en test. Este árbol, además de la brecha, se queda corto.
  3. (c) Train es 2016 y test es 2017: parte de la caída viene del cambio entre años (el 29,1 % del test está en suburbios que no existen en el train). El sobreajuste en estricto se mide train contra validación dentro del mismo período [INFERENCIA]. Ver generalizacion.html.

Error típico: diagnosticar «sobreajuste» solo porque test es menor que train, sin calcular la brecha ni mirar el nivel de train; y atribuir toda la caída de 2016 a 2017 al sobreajuste. Los dos errores están registrados en tu historial.

De dónde sale: cifras de [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]; configuración de [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · línea 58]; lectura [INFERENCIA].

Y el cierre del tema en clase, que explica por qué esta página no termina aquí:

«[…] son muy malos modelos, son como de los peores modelos que uno podría tener en la vida. […] los árboles de decisión son la base de […] los modelos basados en bosques y dentro de eso está el random forest, el ⟨XGBoost⟩» Clase del 7-ago · 1:28:36–1:28:59 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md] · ⟨⟩ = corrección de transcripción [INFERENCIA]: el ASR escribió «exigibus»

2 · Random Forest

La idea: la sabiduría de los grupos

La lámina 35 cita a James Surowiecki: «El conocimiento colectivo de un grupo diverso e independiente de personas generalmente excede el conocimiento de cualquier individuo y puede aprovecharse mediante la votación» [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 35]. En clase, el profesor le puso la condición en voz alta, y se corrigió a medio camino:

«la decisión de un individuo es peor que la decisión de un grupo de individuos siempre y cuando las decisiones no estén correladas, […] perdón, siempre y cuando […] si hay correlación, pero que esa correlación no sea muy alta.» Clase del 7-ago · 1:29:42–1:30:04 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md]
Fíjate en la corrección. Primero dijo «no correladas»; después, «si hay correlación, pero que esa correlación no sea muy alta». La versión corregida es la útil: nunca vas a tener árboles perfectamente independientes (todos aprenden de los mismos datos), y no hace falta. Hace falta que no se equivoquen todos en lo mismo.

Y el ejemplo con el que lo aterrizó:

«Y Daniel opina exactamente igual que Cristóbal, como que no me sirvió mucho ⟨haberle preguntado⟩ a Daniel, pero generalmente lo que ocurre es que Daniel va a opinar distinto y Daniel va a ver cosas que Cristóbal no va a ver» Clase del 7-ago · 1:30:40–1:30:49 · profesor (los nombres son los del ejemplo que usó en clase) · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md] · ⟨⟩ = corrección de transcripción [INFERENCIA]

Dos opiniones idénticas valen una. Esa es la idea que evaluó la P1 del Certamen 2: la distinción está marcada en la sección 4, con un simulador.

Cómo se consigue que los árboles no sean clones

Lámina 36: un árbol solitario no suele predecir muy bien, pero es muy rápido; la idea es usar muchos, asegurándose de que no aprendan todos exactamente lo mismo [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 36]. La lámina 37 dice cómo [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 37]:

  1. Se entrenan n árboles.
  2. Para cada árbol se seleccionan al azar N puntos con reemplazo (bootstrapping): el árbol ve una muestra de filas del mismo tamaño que la original, con algunas repetidas y otras ausentes.
  3. Cada árbol se entrena usando m atributos seleccionados al azar.
  4. Predicción: se promedia la predicción hecha por los árboles.
Qué se sorteaCómoQué consigue
FilasN puntos con reemplazo (bootstrap)cada árbol ve datos algo distintos
Atributos (columnas)m atributos al azarunos árboles se especializan en unos atributos y otros en otros

El profesor lo cerró diciendo que igual queda solapamiento, «cierta correlación» [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:31:37–1:31:41]: la versión corregida de la sabiduría de los grupos, puesta en práctica.

Aviso: la ayudantía y el texto del P5 dicen otra cosa. Lo oficial es la lámina 37: filas con reemplazo y atributos al azar. La ayudantía del 7-ago, leyendo el P5, lo dijo así:
«yo voy a utilizar n árboles de decisión y por cada árbol voy a seleccionar m atributos de manera aleatoria con reemplazo y entrenamos usando los m atributos para dividir cada nodo» Ayudantía del 7-ago · 1:30:59–1:31:11 · ayudantía · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T23_57_03Z_Fundamentos_en_Ciencia_de_Datos.md]
Ahí el «con reemplazo» cayó sobre los atributos y el bootstrap de filas desapareció. El mismo texto está en la sección «Random Forest» del P5 [FUENTE · Repo: 06_LABORATORIOS/2026_[P5]Clasificación(vacio).ipynb]. Sortear atributos con reemplazo no tiene mucho sentido: podrías elegir dos veces la misma columna [DATITO]. Para el certamen, la versión de la lámina 37. Detalle aparte: la ayudantía dice «para dividir cada nodo» y la lámina «para cada árbol»; scikit-learn sortea los atributos en cada división [DATITO], y las dos variantes persiguen lo mismo: descorrelacionar los árboles. Recuerda también que lo dicho en ayudantía no es materia de certamen.

Cómo vota el bosque, y por qué entrega una probabilidad

«tengo cuatro árboles, le digo ¿qué opina usted? Yo digo que un perro. […] Yo creo que un gato. […] Yo creo que un perro. Entonces digo ¡ah! 75% probabilidad de que sea un perro.» Clase del 7-ago · 1:31:49–1:32:03 · profesor · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md]

Es la lámina 37 («promediar la predicción hecha por los árboles») llevada a clasificación: la probabilidad de una clase es la fracción de árboles que la votan. El P5 lo escribe f(x) = (1/N) Σ fi(x) [FUENTE · Repo: 06_LABORATORIOS/2026_[P5]Clasificación(vacio).ipynb]. En regresión —tu Melbourne— se promedian los precios que predice cada árbol [INFERENCIA]. La lámina 38 lo llama «uno de los algoritmos más certeros que se conocen», y en clase agregó que en general uno comienza con un random forest [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:32:33–1:32:39].

Importancia de variables: contar

Lámina 38: el bosque permite estimar la importancia de las variables «contando cuántas veces cada variable fue escogida por cada árbol como relevante» [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 38]. Si ningún árbol eligió nunca una variable para dividir, esa variable es «cero relevante» [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:33:09–1:33:15]. Un compañero preguntó cómo se relaciona esto con elegir variables en el EDA, y el profesor improvisó un ejemplo: A escogida el 50 % de las veces, B el 20 %, C y D el 10 % cada una; A es muy relevante para clasificar [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:34:46–1:35:10]. ⚠ Esos porcentajes suman 90 %: era un ejemplo al vuelo, no un dato.

Ejercicio 4 · cálculo a mano · un bosque de 4 árboles

[DATITO · cifras ilustrativas] Un bosque de 4 árboles clasifica rodales de pino en «listo para cosecha» o «no listo». Variables disponibles: diámetro, altura, pendiente, especie y tipo de suelo. Cada árbol usó estas variables en sus divisiones:

ÁrbolVariables usadas para dividirVoto para el rodal R
1diámetro, altura, diámetrolisto
2diámetro, pendientelisto
3altura, diámetro, especieno listo
4diámetro, altura, diámetrolisto

(a) ¿Qué entrega el bosque para el rodal R? (b) Calcula la importancia de cada variable por conteo, como en la lámina 38. (c) El tipo de suelo no aparece en ningún árbol. ¿Significa que el suelo no influye en la cosecha?

Respuesta correcta y cómo se resuelve

Respuesta: (a) el bosque entrega 75 % de probabilidad de «listo»; (b) diámetro ≈ 55 %, altura ≈ 27 %, pendiente ≈ 9 %, especie ≈ 9 %, suelo 0 %; (c) no: solo significa que este bosque no usó el suelo para dividir.

Cómo se resuelve:

  1. (a) Votos: 3 de 4 dicen «listo» → 3/4 = 75 %, igual que el perro del profesor. Decir «listo» a secas ya supone un umbral (con 0,5, «listo»).
  2. (b) Cuenta todas las divisiones: 3 + 2 + 3 + 3 = 11. Diámetro aparece 2 + 1 + 1 + 2 = 6 veces → 6/11 ≈ 55 %; altura 1 + 0 + 1 + 1 = 3 → 3/11 ≈ 27 %; pendiente 1/11 ≈ 9 %; especie 1/11 ≈ 9 %; suelo 0/11 = 0 %. El orden es el mismo si cuentas en cuántos árboles aparece cada variable (diámetro 4 de 4, altura 3 de 4) [INFERENCIA].
  3. (c) Puede que el suelo esté relacionado con otra variable que los árboles prefirieron (por ejemplo, la especie que se planta en cada suelo), o que su efecto sea menor que el de las elegidas [DATITO]. La importancia describe al modelo, no al fenómeno: es la «intuición de lo que los modelos están haciendo» de la que habló el profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:35:10].

Error típico: en (a), responder solo «listo» sin la probabilidad; en (c), leer «importancia 0» como «no influye en la realidad».

De dónde sale: votación [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 37], importancia por conteo (lámina 38) y la variable «cero relevante» [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:33:09–1:33:15]; cifras del bosque [DATITO].

En el P5, feature_importances_ de scikit-learn no cuenta usos: suma cuánta impureza redujo cada variable [DATITO]. La idea es la misma; para el certamen, la versión de la lámina. La ayudantía del 7-ago resolvió el P5 en vivo (árbol con plot_tree, bosque e importancias): intenta 06_LABORATORIOS/2026_[P5]Clasificación(vacio).ipynb antes de ver esa grabación [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T23_57_03Z_Fundamentos_en_Ciencia_de_Datos.md · 1:28:43–1:28:49].

Ejercicio 5 · producción · la pregunta de fondo del Random Forest

Un árbol profundo sobreajusta. Tu Random Forest de Melbourne promedió 300 árboles con hojas de mínimo 2 casas (n_estimators=300, min_samples_leaf=2) [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · línea 59]: árboles muy profundos. Escribe, en 5 a 8 líneas, por qué el promedio de esos árboles puede sobreajustar menos que cualquiera de ellos, y bajo qué condición dejaría de ser cierto. Escríbelo antes de abrir la respuesta modelo, y llévalo a Datito.

Respuesta correcta y cómo se resuelve

Respuesta: porque cada árbol profundo memoriza un ruido distinto (vio filas y atributos distintos), y al promediar 300 árboles ese ruido particular tiende a cancelarse mientras la señal que todos comparten se conserva; deja de ser cierto si los árboles se equivocan en lo mismo (correlación alta), y con 300 clones no mejora nada.

Respuesta modelo:

«Un árbol profundo sobreajusta porque, además de la relación real entre las variables y el precio, aprende los accidentes de su muestra: sus hojas de dos casas responden a esas dos casas en particular. Si entrenara 300 árboles iguales sobre los mismos datos, los 300 memorizarían los mismos accidentes y promediarlos no cambiaría nada. Pero en el Random Forest cada árbol ve otra muestra bootstrap de filas y otros atributos, así que los accidentes que memoriza cada uno son distintos: ante una casa nueva, unos se pasan y otros se quedan cortos. Al promediar, esas desviaciones particulares se compensan y queda lo que todos comparten, que es la señal. El sobreajuste de cada árbol es varianza, y el promedio de errores poco correlacionados tiene menos varianza que cada uno. Deja de funcionar si la correlación entre árboles es alta, como advirtió el profesor; con 300 clones, el promedio sobreajusta exactamente igual que un árbol, que es la P1 del Certamen 2.»

Cómo se construye:

  1. Qué sobreajusta en un árbol: la parte de sus predicciones que depende de su muestra (varianza), no la señal.
  2. Qué introduce el bosque: filas con reemplazo y atributos al azar (lámina 37).
  3. Qué hace el promedio: conserva lo común y compensa lo particular. En fórmula, Var(promedio) = ρ·σ² + (1 − ρ)·σ²/n (sección 4) [DATITO].
  4. La condición: correlación no muy alta (ρ chico).
  5. El caso límite: ρ = 1 (clones), la P1.
  6. El matiz de tu proyecto: «sobreajusta menos» se ve en el test (RF 0,7109 contra árbol 0,6123), no en la brecha, que en el RF es la mayor (0,2314) porque cada árbol memorizó 2016 y eso no se borra en train [INFERENCIA]. Además tu árbol individual estaba limitado (profundidad 8), así que la comparación no es «árbol profundo contra bosque de árboles profundos».

Error típico: responder «porque son más modelos» (número sin mecanismo), o «porque los errores se anulan» sin la condición de correlación; y creer que el bosque debe tener menor brecha.

De dónde sale: láminas 36–38 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 38]; condición de correlación [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:29:42–1:30:04]; cifras de [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]; fórmula de varianza [DATITO].

Criterios con que se corrige tu versión
  • Dice qué es lo que un árbol profundo «aprende de más»: detalles de su muestra (ruido), además de la señal.
  • Usa el diseño del bosque: cada árbol ve filas y atributos distintos, así que sus detalles de más son distintos entre árboles.
  • Explica qué le pasa, al promediar, a lo que es común a todos los árboles y a lo que es particular de cada uno.
  • Nombra la condición con las palabras del profesor (correlación no muy alta) y el caso límite de la P1.
  • No confunde «sobreajusta menos» con «tiene menor brecha»: en tu tabla, el Random Forest tiene la mayor brecha (ejercicio 6).
Ejercicio 6 · interpretación · tus cuatro modelos de árboles

Tus modelos sobre log1p(Price), train 2016 y test 2017 [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]:

Modelo (log)R² trainR² testBrecha
Árbol de decisión0,75230,6123?
Random Forest0,94230,7109?
Gradient Boosting0,88580,7466?
HistGradientBoosting0,92740,7571?

(a) Calcula las cuatro brechas: es el paso que el procedimiento no permite saltarse. (b) Ordena los modelos por brecha y por R² test. ¿Coinciden los órdenes? (c) El Random Forest tiene la mayor brecha. ¿Es el que peor generaliza? ¿Es el mejor? (d) ¿Qué le responderías a alguien que propone «elegir el modelo con menor brecha»?

Respuesta correcta y cómo se resuelve

Respuesta: las brechas son 0,1400 (árbol), 0,2314 (RF), 0,1392 (GB) y 0,1703 (HGB); los órdenes por brecha y por test no coinciden; el RF no es el que peor generaliza (supera al árbol en test) ni el mejor (lo superan los dos boosting); y la brecha sirve para diagnosticar, no para elegir.

Cómo se resuelve:

  1. (a) Resta fila por fila: 0,7523 − 0,6123 = 0,1400 · 0,9423 − 0,7109 = 0,2314 · 0,8858 − 0,7466 = 0,1392 · 0,9274 − 0,7571 = 0,1703.
  2. (b) Por brecha, de menor a mayor: GB, árbol, HGB, RF. Por R² test, de mayor a menor: HGB, GB, RF, árbol. No coinciden.
  3. (c) En test, el RF (0,7109) supera al árbol por casi 0,10. Su brecha es grande porque su R² de train es altísimo (0,9423): sus 300 árboles profundos memorizan 2016, y promediarlos no borra esa memoria en train [INFERENCIA]. Los dos boosting lo superan en test.
  4. (d) El árbol y GB tienen casi la misma brecha (0,1400 y 0,1392), y los separan 0,13 de R² en test. Se elige por desempeño fuera de muestra —validación cruzada dentro de 2016— y la brecha se usa para entender por qué un modelo rinde lo que rinde.

Error típico: «el de mayor brecha es el peor» o «el de menor brecha es el mejor». La brecha mide distancia entre train y test, no calidad.

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

Y una advertencia sobre tu propio proyecto: esta brecha compara 2016 contra 2017, así que mezcla sobreajuste con cambio entre años. Comentando un proyecto 2016→2017 en la sesión del 4-sep, el profesor explicó que es normal que el modelo rinda algo peor en 2017 porque los datos cambian entre un año y otro, y que el modelo queda un poco sobreajustado a 2016 [FUENTE · Repo: 05_CLASES/transcripciones/2026-09-04T22_05_05Z_Fundamentos_en_Ciencia_de_Datos.md · 2:08:58–2:09:21]. Detalle en generalizacion.html.

Un lapsus que no debes memorizar. Respondiendo cuándo conviene un random forest y cuándo deep learning, la transcripción registra que si no tienes suficientes datos para que el deep learning venza a un modelo clásico, «en general es mejor usar un modelo de deep learning» [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:36:05–1:36:15]. Lo oficial dice lo contrario: la lámina 8 de FCD-08 grafica desempeño contra cantidad de datos, con los algoritmos clásicos por encima cuando hay pocos datos [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_08_DL_LLMs_Agents.md · lámina 8], y en la clase del 21-ago dijo que con pocos datos los algoritmos clásicos funcionan mejor que deep learning [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-21T22_13_35Z_Fundamentos_en_Ciencia_de_Datos.md · 1:45:25–1:45:29]. El mismo pasaje del 7-ago sigue con que muchas veces un random forest supera a una red neuronal muy compleja. Quédate con: pocos datos → modelo clásico. Más en redes_neuronales.html.

3 · Gradient boosting: un recuadro, no una clase

Estado de este tema en el curso. Gradient boosting no tiene lámina: el bloque de árboles de FCD-07 termina en Random Forest (láminas 34–38) y el resumen de la lámina 39 lista como modelos no lineales solo «árboles de decisión» y «random forest» [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 39]. En las 14 transcripciones disponibles al 2026-09-21 no se enseñó como tema: el profesor nombró XGBoost al pasar (la última cita de la sección 1), la ayudantía lo mencionó como otro modelo de tipo ensamble [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T23_57_03Z_Fundamentos_en_Ciencia_de_Datos.md · 1:31:47–1:31:52], y el resto son un comentario del profesor el 14-ago y presentaciones de compañeros (14-ago y 4-sep). Lo que sigue es explicación de Datito para que entiendas tu propio modelo final; no lo presentes como materia de clase.

Lo único que dijo el profesor sobre gradient boosting fue esto, comentando la presentación de un grupo:

«gradient boosting generalmente se usa para clasificación en realidad gradient boosting es una técnica de optimización de modelos más que un modelo mismo ⟨XGBoost⟩ y ⟨CatBoost⟩ son tipos de modelos que se usan con boosting» Sesión de presentaciones del 14-ago · 1:59:10–1:59:24 · profesor, comentando la presentación de un grupo de compañeros · [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-14T22_09_23Z_Fundamentos_en_Ciencia_de_Datos.md] · ⟨⟩ = corrección de transcripción [INFERENCIA]: el ASR escribió «y boost y cat boost»
Dos cosas de esa frase. «Técnica de optimización más que un modelo» calza con el recuadro de abajo: boosting es una forma de construir un ensamble bajando el error paso a paso [INFERENCIA]. Pero «generalmente se usa para clasificación» choca con tu proyecto: tu modelo final es un HistGradientBoostingRegressor, de regresión [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · línea 61]. En el mismo comentario el profesor recordó que el random forest tiene versión de regresión y de clasificación [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-14T22_09_23Z_Fundamentos_en_Ciencia_de_Datos.md · 1:59:00–1:59:08]; con boosting pasa lo mismo, como muestra tu código. No hay lámina que zanje el punto: si te lo preguntan, di que existe para ambas tareas y muestra tu caso.

[DATITO] La idea en un párrafo. Random Forest entrena sus árboles en paralelo: cada uno, por su cuenta, intenta predecir el precio completo desde su muestra, y al final se promedian. Gradient boosting los entrena en secuencia: el primero predice algo simple; el segundo se entrena sobre lo que al primero le faltó (el residuo: real − predicho); el tercero, sobre lo que todavía falta después de los dos; y así. La predicción final es la suma de las correcciones, cada una multiplicada por una tasa de aprendizaje chica.

Random ForestGradient boosting
Ordenparalelo: ningún árbol mira a otrosecuencial: cada árbol depende de los anteriores
Qué aprende cada árbolel objetivo completo, desde su muestrael residuo de lo acumulado
Árboles típicosprofundoschicos
Cómo combinapromedio o votaciónsuma, ponderada por la tasa de aprendizaje

Un ejemplo de tres casas [DATITO · cifras ilustrativas, miles de AUD], con tasa de aprendizaje 0,5 y un árbol 2 tan chico que solo puede separar la casa c de las otras dos:

CasaPrecio realÁrbol 1 (la media)Residuo 1Árbol 2 predice el residuoTras 2 árbolesResiduo 2
a7001.000−300−2001.000 + 0,5·(−200) = 900−200
b9001.000−100−2009000
c1.4001.000+400+4001.000 + 0,5·400 = 1.200+200

El árbol 3 recibiría −200, 0 y +200: cada árbol nuevo trabaja sobre lo que los anteriores todavía no explican. Con error cuadrático, el residuo es justamente la dirección en que baja el error; de ahí el «gradient» del nombre, y la misma idea de bajar por el gradiente reaparece en redes_neuronales.html [DATITO].

Tu modelo final, leído con el recuadro

Tu modelo final es un HistGradientBoosting sobre log1p(Price): MAE 188.218 AUD y R² 0,757 en 2017 [FUENTE · Repo: 07_DATITO/02_REFERENCIA/material.md]. Su configuración y la del Gradient Boosting clásico [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · líneas 60–61]:

Léelo con el recuadro: árboles chicos (profundidad 4, o 31 hojas como máximo), muchos (400 a 500), y cada uno aporta solo el 5 % de su corrección [INFERENCIA]. Brechas: GB 0,1392, la menor de tus cuatro modelos de árboles; HGB 0,1703, con el mejor R² en test (0,7571). Otra vez: la menor brecha no fue el mejor test.

Ejercicio 7 · producción · el árbol número 2

Sin mirar el recuadro, explica por escrito qué hace el árbol número 2 de tu HistGradientBoosting que no hace ningún árbol de tu Random Forest. Tu explicación tiene que usar la palabra «residuo», decir en qué escala está ese residuo en tu proyecto (el target es log1p(Price)) y explicar por qué se usa learning_rate=0.05 en vez de 1. Escríbelo antes de abrir la respuesta modelo, y llévalo a Datito.

Respuesta correcta y cómo se resuelve

Respuesta: el árbol 2 del boosting se entrena para predecir el residuo que dejó el árbol 1 —lo que al modelo todavía le falta— y su predicción se suma, multiplicada por 0,05, a la anterior; ningún árbol del Random Forest hace eso, porque cada uno predice el objetivo completo por su cuenta y al final se promedian.

Respuesta modelo:

«En mi HistGradientBoosting, el primer árbol hace una predicción gruesa de log1p(Price). El árbol 2 no intenta predecir el precio: se entrena sobre el residuo, la diferencia entre el log1p del precio real de cada casa y lo que predijo el árbol 1. Como el objetivo está en logaritmo, ese residuo funciona como un error relativo: un residuo de +0,10 significa que el modelo se quedó corto en torno a un 10 %, sea la casa de 500 mil o de 2 millones. La predicción nueva es la del árbol 1 más 0,05 veces la del árbol 2, y el árbol 3 se entrena sobre lo que todavía falta. En mi Random Forest, en cambio, los 300 árboles se entrenan cada uno por su cuenta, en paralelo, sobre el objetivo completo, y se promedian: ninguno sabe en qué se equivocó otro. Uso learning_rate = 0,05 y no 1 porque con 1 cada árbol corregiría todo su residuo de golpe, ruido de 2016 incluido; con pasos chicos cada árbol corrige solo un poco y los siguientes matizan sus errores. El costo es necesitar muchos árboles: por eso son 500.»

Cómo se construye:

  1. Qué recibe el árbol 2: residuos (real − acumulado), no precios.
  2. De quién depende: del árbol 1 (secuencial). En el bosque nadie depende de nadie.
  3. Escala: log1p(real) − predicción en log ≈ error relativo [INFERENCIA].
  4. Cómo se combina: suma, con cada corrección multiplicada por 0,05.
  5. Por qué 0,05: pasos chicos persiguen menos el ruido; se paga con más árboles.

Error típico: decir que el boosting «promedia árboles» o que «cada árbol usa datos distintos» (eso es Random Forest); o hablar del residuo en AUD cuando el modelo trabaja en log.

De dónde sale: recuadro de arriba [DATITO]; configuración de [FUENTE · Repo: 03_SCRIPTS/modelamiento_temporal.py · línea 61]; escala logarítmica [INFERENCIA]. No es materia de clase: gradient boosting no tiene lámina.

Criterios con que se corrige tu versión
  • Dice que el árbol 2 se entrena sobre lo que el modelo acumulado todavía no explica, no sobre el precio.
  • Dice que depende del árbol 1 (secuencial), mientras que en el bosque ningún árbol depende de otro.
  • Ubica el residuo en escala logarítmica: log1p del precio real menos la predicción en log, más parecido a un error relativo que a uno en AUD [INFERENCIA].
  • Explica la tasa: cada árbol corrige una fracción, y muchos pasos chicos persiguen menos el ruido que pocos pasos grandes; el precio es necesitar más árboles.
  • No dice que el boosting «promedia» árboles.

4 · Ensambles: cuándo más modelos ayudan

Random Forest y boosting son dos casos de una idea más general: combinar varios modelos en uno. Tres maneras de hacerlo [DATITO]:

TipoDe dónde sale la diversidadCómo combinaDónde lo tienes
Bosque (bagging)mismo algoritmo, filas y atributos al azarpromedio o votaciónRandom Forest en Melbourne; ExtraTrees en Galaxy Zoo
Boostingcada modelo ataca lo que los anteriores fallansuma ponderadaHistGradientBoosting en Melbourne; CatBoost en Galaxy Zoo
Combinación de familiasalgoritmos distintospromedio de probabilidades o votoP = α·PA + (1 − α)·PB en tu 08_ensemble.py

La fórmula de la última fila está en [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/src/08_ensemble.py]. En los tres casos la pregunta es la del profesor con Cristóbal y Daniel: ¿se equivocan en casos distintos?

Antes de mover nada, predice. Tienes modelos que aciertan 65 % cada uno y votan por mayoría. Si pasas de 1 a 51 modelos, la exactitud del voto…
Anotado. Ahora mueve cualquier control del simulador: el contraste aparece al moverlo.
Respuesta correcta y cómo se resuelve

Respuesta: depende de si se equivocan en los mismos casos: con errores independientes (y cada modelo mejor que el azar) el voto sube hacia 100 %; con clones se queda en 65 %; y si cada modelo es peor que el azar, votar empeora.

Cómo se resuelve (con el modelo del simulador):

  1. ρ = 0: el voto acierta si aciertan al menos 6 de 11. Con p = 0,65, P(al menos 6 de 11) ≈ 0,851; con 51 modelos, P(al menos 26 de 51) ≈ 0,986.
  2. ρ = 1: en cada caso todos aciertan o todos fallan juntos, así que el voto acierta exactamente p = 0,65, con 1 o con 51.
  3. ρ = 0,5 y 51 modelos: 0,5 · 0,65 + 0,5 · 0,986 ≈ 0,818. Techo: con infinitos modelos, 0,5 · 0,65 + 0,5 · 1 = 0,825.
  4. p = 0,45 y ρ = 0: con 11 modelos, ≈ 0,367; con 51, ≈ 0,236. La mayoría amplifica el error.

Error típico: «más modelos siempre mejora» (confundir número con diversidad: la P1), o «65 % es 65 %» (ignorar que errores en casos distintos se compensan).

De dónde sale: modelo del simulador y sus cifras [DATITO]; condición de correlación del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:29:42–1:30:04].

11
0,65
0,00
—
Cada modelo (p)
—
Modelos, en estos 60 casos
—
Voto, exactitud teórica
—
Voto, aciertos en 60 casos
—
Casos en que fallan todos
Exactitud del voto según cuántos modelos votan
Exactitud(voto) = ρ · p + (1 − ρ) · P(más de N/2 aciertan)
Ncuántos modelos votan; impar, para que no haya empates decisión
pexactitud de cada modelo por separado
ρcorrelación entre los aciertos de dos modelos: en una fracción ρ de los casos, todos «copian» el mismo resultado
P(más de N/2 aciertan)probabilidad binomial de que la mayoría acierte si cada uno acierta por su cuenta: Σk>N/2 C(N,k)·pk·(1 − p)N−k

Es el modelo del simulador [DATITO], simplificado a propósito para que ρ se vea. No es la fórmula de ninguna librería: es una forma honesta de mostrar el efecto.

Cuatro lecturas del simulador [DATITO].
· ρ = 1 (clones): la curva roja es plana en p. Da lo mismo votar con 1 o con 51.
· ρ = 0 y p > 0,5: la curva verde sube hacia 100 %. Cada modelo agrega información nueva.
· ρ entre 0 y 1: sube, pero se aplana antes. Con infinitos modelos llega a ρ·p + (1 − ρ), nunca a 100 %: la parte de los errores que comparten no se cancela nunca.
· p < 0,5: la mayoría de modelos malos es peor que uno solo. Votar amplifica lo que haya, bueno o malo.
Distinción de certamen · Certamen 2, P1: número de modelos ≠ diversidad de modelos. La P1 afirmaba que un modelo compuesto por varios árboles «exactamente iguales y que predicen exactamente lo mismo» suele predecir mejor que cada uno por separado. En el simulador, eso es ρ = 1: la curva roja. Es también Daniel opinando igual que Cristóbal. Ficha con el análisis: certamen_2.html#p1.
Pregunta estilo certamen (V/F, justifica si es falsa): «Utilizar un modelo compuesto por varios modelos exactamente iguales y que predicen exactamente lo mismo suele predecir mejor que cada modelo por separado.»
Respuesta correcta y cómo se resuelve

Respuesta: falso: un ensamble de modelos idénticos que predicen lo mismo equivale a un solo modelo, porque comete exactamente los mismos errores.

Cómo se resuelve:

  1. Modelos idénticos producen predicciones idénticas.
  2. Predicciones idénticas producen errores idénticos, en los mismos casos (ρ = 1).
  3. Promediar o votar valores iguales devuelve ese mismo valor.
  4. Luego el ensamble no mejora nada: la ventaja de un ensamble viene de que sus modelos se equivoquen en casos distintos (lámina 36: «asegurarnos de que no aprendan todos exactamente lo mismo»).

Error típico: responder «verdadero» porque «más modelos es mejor», o justificar el falso con «no aporta» sin nombrar el mecanismo (errores en los mismos casos).

De dónde sale: enunciado y derivación del expediente [FUENTE · Repo: 01_DOCUMENTACION/01_CERTAMEN2/02_MAPA_PROCESO_ESTUDIO.md]; lámina 36 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 36]; el ejemplo del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:30:40–1:30:49].

Para regresión o para promedios de probabilidades no hay votos, pero la idea es la misma con varianzas:

Var(promedio de n) = ρ · σ² + (1 − ρ) · σ² / n
σ²varianza del error de un modelo por separado
nmodelos promediados decisión
ρcorrelación entre los errores de dos modelos

[DATITO] La versión general de la fórmula de la ficha P1, que es el caso ρ = 0.

Camino inverso · te dan esta fórmula en el papel

(1) ¿Qué pasa si n crece sin límite? (2) ¿Y si ρ = 1? (3) ¿Y si ρ = 0? (4) ¿Qué perilla de esta fórmula mueve Random Forest?

Respuesta correcta y cómo se resuelve

Respuesta: (1) queda ρ·σ², un piso que ningún número de modelos rompe; (2) Var = σ², como un solo modelo; (3) Var = σ²/n; (4) baja ρ.

Cómo se resuelve:

  1. (1) Con n → ∞, el término (1 − ρ)·σ²/n tiende a 0 y sobrevive ρ·σ².
  2. (2) Con ρ = 1: 1·σ² + 0 = σ², con n = 1 o con n = 300. Clones.
  3. (3) Con ρ = 0: 0 + σ²/n. Con 300 modelos, la varianza baja 300 veces.
  4. (4) Random Forest sortea filas y atributos para bajar ρ, aunque cada árbol quede algo peor (σ² algo mayor): el balance le conviene.

Error típico: usar σ²/n sin verificar independencia; la fórmula de la ficha P1 solo vale con ρ = 0.

De dónde sale: [DATITO]; es la generalización de la fórmula de certamen_2.html#p1.

Ejercicio 8 · cálculo a mano · tres modelos de 80 %

[DATITO · cifras ilustrativas] Tres modelos, A, B y C, clasifican los mismos 10 casos y cada uno acierta 8 (80 %). La ✗ marca dónde falla cada uno. Combinas por mayoría (2 de 3).

Escenario 112345678910
A✗✗
B✗✗
C✗✗
Escenario 212345678910
A✗✗
B✗✗
C✗✗
Escenario 312345678910
A✗✗
B✗✗
C✗✗

(a) Calcula la exactitud del voto en cada escenario. (b) ¿Qué cantidad de la tabla decide el resultado, sin necesidad de mirar la exactitud de cada modelo?

Respuesta correcta y cómo se resuelve

Respuesta: el voto acierta 80 % en el escenario 1, 100 % en el 2 y 70 % en el 3; lo decide el número de casos donde fallan al menos dos modelos.

Cómo se resuelve: columna por columna, cuenta las ✗; si hay dos o más, el voto falla en ese caso.

  1. Escenario 1: los tres fallan en 3 y 8 → el voto falla en 2 casos → 8/10 = 80 %, lo mismo que cada uno (clones).
  2. Escenario 2: ningún caso tiene dos ✗ → el voto no falla nunca → 100 %.
  3. Escenario 3: los casos 1, 2 y 3 tienen dos ✗ cada uno → el voto falla en 3 casos → 7/10 = 70 %, peor que cualquiera de los modelos.
  4. Los tres escenarios tienen modelos de 80 % y dan 80, 100 y 70 %: lo que cambia es dónde caen los errores. La diversidad ayuda si los errores no se juntan de a dos; si se juntan justo de a dos, el voto amplifica.

Error típico: suponer que tres modelos de 80 % votando dan siempre más de 80 %, o calcular 89,6 % con la fórmula de independencia (0,8³ + 3·0,8²·0,2): ninguno de los tres escenarios tiene errores independientes.

De dónde sale: cifras ilustrativas [DATITO]; regla de mayoría como en la lámina 37 aplicada a clasificación [INFERENCIA].

Ejercicio 9 · producción · ahora con dos modelos

Combinas dos modelos que aciertan 80 % cada uno. Construye con 10 casos, como las tablas de arriba, un escenario donde la combinación supere el 80 % y otro donde no gane nada. Antes resuelve un problema que con tres modelos no tenías: ¿qué hace la combinación cuando los dos discrepan? Declara la regla que usas. Escríbelo antes de abrir la respuesta modelo, y llévalo a Datito.

Respuesta correcta y cómo se resuelve

Respuesta: dos modelos de 80 % combinados superan el 80 % solo si fallan en casos distintos y la regla de combinación, en cada desacuerdo, le cree al que acierta (por ejemplo, promediando probabilidades cuando el que acierta está más seguro); si fallan en los mismos casos, o si la regla no sabe a quién creerle, no ganan nada, y hasta pueden perder.

Respuesta modelo [DATITO · cifras ilustrativas]. Regla: promediar las probabilidades de la clase correcta y decidir con umbral 0,5.

  1. Escenario que gana. A falla en los casos 1 y 2; B falla en 3 y 4. En 1 y 2, A se equivoca con poca seguridad (da 0,45 a la clase correcta) y B acierta seguro (0,90): promedio 0,675 → acierta. En 3 y 4 pasa lo mismo al revés. En los otros 6 casos aciertan los dos. Resultado: 10 de 10 = 100 %.
  2. Escenario que no gana. A y B fallan los dos en los casos 1 y 2: no hay a quién creerle, el promedio también falla. Resultado: 8 de 10 = 80 %.
  3. Escenario que pierde. Fallan en casos distintos (A en 1 y 2, B en 3 y 4), pero el que se equivoca está muy seguro (da 0,10 a la clase correcta) y el que acierta, dudoso (0,55): promedio 0,325 → falla. Resultado: 6 de 10 = 60 %.
  4. Con voto simple entre dos, cada desacuerdo es un empate: si lo resuelves al azar, esperas 80 %, sin ganancia.

Error típico: afirmar «dos de 80 % dan 96 %» (1 − 0,2²). Esa cifra supone errores independientes y un árbitro perfecto que en cada desacuerdo elige al que acierta; ninguna de las dos cosas viene gratis.

De dónde sale: la regla de promediar probabilidades es la de tu [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/src/08_ensemble.py]; los escenarios son [DATITO].

Criterios con que se corrige tu versión
  • Nota que con dos votos hay empates y declara una regla (por ejemplo, promediar probabilidades, como hace 08_ensemble.py).
  • El escenario ganador tiene los fallos en filas distintas y la regla elige al que acierta en esas filas (por ejemplo, porque está más seguro).
  • El escenario sin ganancia tiene los fallos en las mismas filas, o una regla que no sabe a quién creerle.
  • No afirma una cifra como «96 %» sin decir de dónde sale ni qué supone.

Galaxy Zoo: lo que tu código hace, y lo que no hay

Tu 08_ensemble.py hace dos cosas antes de combinar. Primero mide la diversidad de errores de cada par de modelos: la fracción de filas donde fallan los dos sobre las filas donde falla alguno (jaccard_error), con el comentario de que si dos modelos fuertes fallan en las mismas filas, promediarlos no puede aportar. Después busca el α de P = α·PA + (1 − α)·PB y solo adopta el ensamble si mejora al mejor modelo individual en más de 0,005; si no, imprime «NO ADOPTAR (no supera el ruido)» [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/src/08_ensemble.py].

No hay cifra del ensamble de Galaxy Zoo. El repositorio no tiene resultados escritos de ese script: en analysis/ no existen ensemble_diversity.csv ni ensemble_alpha.csv, y las secciones 9 y 11–13 del REPORT dicen «Pendiente» [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md]. No inventes esa cifra, ni en un certamen ni en una defensa: declara el vacío.
Ejercicio 10 · interpretación · ¿combinar modelos en Galaxy Zoo?

Con validación cruzada de 5 folds y F1-macro, el REPORT registra [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §5]:

ModeloF1-macro medioDesviación entre folds
CatBoost balanceado0,61290,0223
LinearSVC balanceado0,61050,0380
ExtraTrees balanceado0,56570,0349

(a) ¿Cuál es un bosque, cuál es boosting y cuál no es un ensamble? (b) Si fueras a combinar dos, ¿cuáles probarías y qué medirías antes? (c) Tu script adopta el ensamble si gana más de 0,005. Con estas desviaciones, ¿es un umbral exigente?

Respuesta correcta y cómo se resuelve

Respuesta: (a) ExtraTrees es un bosque, CatBoost es boosting y LinearSVC no es un ensamble; (b) probaría CatBoost con LinearSVC, midiendo antes en cuántas galaxias fallan los dos respecto de las que falla alguno; (c) no: 0,005 queda muy por debajo del ruido entre folds.

Cómo se resuelve:

  1. (a) ExtraTrees es un bosque de árboles con cortes al azar; CatBoost es gradient boosting sobre árboles; LinearSVC es un modelo lineal [DATITO]. Fíjate en que un ensamble (ExtraTrees) quedó bajo un modelo lineal solo: ser ensamble no garantiza nada.
  2. (b) CatBoost y LinearSVC rinden casi igual y son de familias muy distintas, así que es plausible que fallen en galaxias distintas [INFERENCIA]. Plausible no basta: se mide con las predicciones fuera de fold, que es lo que calcula tu script antes de combinar (jaccard_error).
  3. (c) El REPORT ya advierte que una diferencia de 0,0024 es «entre 9 y 16 veces menor que la desviación entre folds» y que no respalda la conclusión [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §5]. Una ganancia de 0,005 sigue muy por debajo de desviaciones de 0,022 a 0,038 [INFERENCIA].

Error típico: suponer que combinar los dos mejores siempre mejora, o reportar una ganancia de 0,005 como mejora real sin compararla con la desviación entre folds.

De dónde sale: cifras de [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §5]; criterio de adopción de [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/src/08_ensemble.py].

5 · Transferir, producir y el papel

Ejercicio 11 · transferencia · salud

[DATITO · cifras ilustrativas] Un consultorio quiere un árbol que sugiera derivar o no a cardiología. Tiene 20 pacientes: 12 «no derivar» y 8 «derivar». Dos cortes candidatos para la raíz:

CorteLado ≤Lado >
Presión sistólica ≤ 14010 no · 2 sí2 no · 6 sí
Edad ≤ 607 no · 3 sí5 no · 5 sí

(a) ¿Qué corte elige C4.5 con Gini? Calcula las dos ganancias. (b) Llega un paciente con presión 150. ¿Qué entrega el árbol de un solo corte? ¿Quién decide si eso significa «derivar»?

Respuesta correcta y cómo se resuelve

Respuesta: (a) C4.5 elige la presión (ganancia ≈ 0,163 contra 0,02 de la edad); (b) el árbol entrega 75 % de probabilidad de «derivar», y si eso significa derivar lo decide quien fija el umbral según el costo de cada error, no el árbol.

Cómo se resuelve:

  1. Padre (12 no, 8 sí): p = 8/20 = 0,4 → Gini = 2 · 0,6 · 0,4 = 0,48.
  2. Presión: lado ≤ (10, 2) → 2·(10/12)(2/12) ≈ 0,2778; lado > (2, 6) → 2·(2/8)(6/8) = 0,375. Ponderada 12/20 · 0,2778 + 8/20 · 0,375 ≈ 0,1667 + 0,15 = 0,3167. Ganancia ≈ 0,48 − 0,3167 = 0,163.
  3. Edad: (7, 3) → 2 · 0,7 · 0,3 = 0,42; (5, 5) → 0,5. Ponderada 0,5 · 0,42 + 0,5 · 0,5 = 0,46. Ganancia 0,02. Gana la presión.
  4. Paciente con 150: cae en el lado > 140, donde 6 de 8 fueron derivados → P(derivar) = 6/8 = 75 %. En salud, no derivar a un enfermo cuesta más que derivar a un sano, así que el umbral suele ponerse bajo [DATITO]. Es el punto de operación de roc_auc.html.

Error típico: elegir la edad porque «divide más parejo» (10 y 10), o decir «el árbol dice derivar» sin dar la probabilidad ni quién fija el umbral.

De dónde sale: cifras ilustrativas [DATITO]; procedimiento de las láminas 29, 31 y 32 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 32].

Ejercicio 12 · transferencia · minería

[DATITO · cifras ilustrativas] Una faena minera tiene tres alarmas automáticas que predicen la falla de una correa transportadora, y cada una acierta 85 de cada 100 casos. A y B son el mismo modelo de vibración, entrenado con los mismos datos y distinta semilla; C usa la temperatura del motor. En 100 casos históricos, A falló en 15, B en 15, y 14 de esos fallos son los mismos casos; C falló en 15 casos donde A y B acertaron.

(a) ¿Cuánto acierta el voto de las tres? (b) ¿Cómo lo mejorarías sin mejorar ninguna alarma por separado?

Respuesta correcta y cómo se resuelve

Respuesta: (a) el voto acierta 86 de 100, casi lo mismo que cada alarma sola; (b) reemplazando B por una alarma que se equivoque en otros casos.

Cómo se resuelve:

  1. El voto de tres falla donde fallan al menos dos.
  2. A y B fallan juntas en 14 casos: ahí C acierta, pero pierde 2 a 1 → 14 fallos del voto.
  3. A falla sola en 1 caso, B sola en 1 caso, C sola en 15: en ninguno de esos fallan dos → el voto acierta.
  4. Voto: 100 − 14 = 86 de 100. C aporta diversidad real, pero A y B son casi clones y la votan en contra.
  5. (b) Con tres alarmas de 85 % que fallaran en casos disjuntos (45 casos distintos), ningún caso tendría dos fallos y el voto acertaría los 100. La diversidad se diseña (otro sensor, otras variables), igual que en Random Forest.

Error típico: calcular ≈ 94 % con la fórmula de independencia (0,85³ + 3 · 0,85² · 0,15 ≈ 0,939): A y B no son independientes. Es la P1 en terreno: número ≠ diversidad.

De dónde sale: cifras ilustrativas [DATITO]; condición de correlación del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:29:42–1:30:04].

Explícaselo a alguien.

A una persona que no ha visto nada de esto —un compañero de otra carrera, alguien de tu casa— explícale en menos de dos minutos, usando solo los triángulos y círculos del profesor:
1. cómo un árbol elige su primer corte;
2. por qué cien árboles distintos se equivocan menos que uno;
3. por qué cien árboles copiados, no.

Grábalo o escríbelo antes de abrir la respuesta modelo, y llévalo a Datito.
Respuesta correcta y cómo se resuelve

Respuesta: un árbol elige el corte que más reduce la mezcla, ponderando cada lado por su tamaño; cien árboles distintos se equivocan menos porque cada uno se equivoca a su manera y al votar los errores se tapan; cien copias se equivocan en lo mismo, y votar es preguntarle cien veces al mismo.

Respuesta modelo:

«Imagina 17 figuras en una hoja: 9 triángulos y 8 círculos, desparramados. Quiero una regla para adivinar la figura de un punto nuevo sabiendo solo dónde está. Un árbol prueba rayas: una vertical aquí, otra allá, horizontales, y para cada raya mira qué tan revueltos quedan los dos lados. Lo revuelto se mide con un número, el Gini: 0 si un lado tiene una sola figura, 0,5 si está mitad y mitad. Elige la raya que más baja ese número, dándole más peso al lado que tiene más figuras, para no premiar una raya que solo aparta un punto. Después repite dentro de cada lado. Cuando cae un punto nuevo, el árbol no dice "es triángulo": dice "aquí 8 de 9 eran triángulos, 89 %". Un árbol solo se equivoca harto, porque sus rayas se acomodan a los puntos exactos que vio. Si hago cien árboles y a cada uno le muestro una muestra distinta de figuras y solo algunas de las coordenadas, cada uno se equivoca a su manera, y cuando votan, los errores de uno los tapan los otros. Pero si los cien son copias, se equivocan justo en lo mismo: votar es preguntarle cien veces al mismo, como preguntarle a Daniel algo en lo que opina exactamente igual que Cristóbal.»

Cómo se construye: (1) la situación con las figuras del profesor; (2) el número de mezcla y la ponderación por tamaño; (3) la hoja como proporción; (4) por qué un árbol solo falla (se acomoda a lo que vio); (5) la diversidad con su mecanismo; (6) el caso de las copias.

Error típico: explicar con jerga sin traducirla («bootstrap», «hiperparámetro»), olvidar la ponderación por tamaño, o decir que cien árboles son mejores «porque son más».

De dónde sale: ejemplo y conteos del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:14:52–1:15:40]; láminas 27–37 [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 37]; redacción [DATITO].

Criterios con que se corrige tu versión
  • El corte se elige comparando cortes con un número de mezcla y la ganancia ponderada por tamaño, no «a ojo».
  • Menciona que la hoja responde con una proporción.
  • Explica la diversidad con su mecanismo (filas y atributos al azar), no con «más es mejor».
  • El punto 3 usa la idea de errores en los mismos casos, no solo «no aporta».
  • Traduce la jerga (bootstrap, hiperparámetro) o no la usa.

Procedimiento para el papel

GINI DE UN NODO
 1. CONTAR           Nᵢ por clase y el total N
 2. PROPORCIONES     pᵢ = Nᵢ/N  (verifica que sumen 1)
 3. GINI             Σ pᵢ(1 − pᵢ)      con 2 clases: 2·p·(1 − p)
 4. CHEQUEAR         puro → 0 · mitad y mitad (2 clases) → 0,5

GANANCIA DE UN CORTE (C4.5)
 5. PADRE            Gini del nodo antes de cortar
 6. HIJOS            Gini de cada hijo
 7. PONDERAR         cada hijo × N(hijo)/N(padre)   ← el paso que más se olvida
 8. RESTAR           ganancia = padre − suma ponderada
 9. ELEGIR           gana el corte con MAYOR ganancia

RANDOM FOREST
10. PROBABILIDAD     votos de la clase / n árboles
11. IMPORTANCIA      veces que se usó la variable / total de divisiones
12. DIVERSIDAD       filas CON reemplazo + m atributos al azar

VOTO DE UN ENSAMBLE
13. POR CASO         ¿fallan más de la mitad? → falla el voto
14. EXACTITUD        casos con mayoría correcta / total
15. ANTES DE DECIR «MEJORA»: ¿fallan en los mismos casos?
Errores que el formato castiga
  • Restar el promedio simple de los hijos en vez del ponderado por tamaño: premia cortes que aíslan un punto (el corte C del plano).
  • Leer Gini al revés: alto es mezclado; 0 es puro.
  • Decir que la medida de impureza se aprende, o que una es siempre mejor: es un hiperparámetro y se elige con validación cruzada.
  • Ofrecer la ganancia de pureza como métrica de evaluación (Certamen 2, P4).
  • Describir Random Forest sorteando solo filas, solo atributos, o «atributos con reemplazo».
  • Confundir número de modelos con diversidad (Certamen 2, P1): los clones no suman.
  • Decir «el árbol predice perro» sin decir que la hoja entrega una proporción y la clase sale de un umbral.
  • Elegir modelo por la brecha, o llamar sobreajuste a toda la caída de 2016 a 2017.
  • Presentar gradient boosting como materia de clase, o afirmar que es «solo para clasificación» contra tu propio modelo de regresión.
  • Inventar una cifra del ensamble de Galaxy Zoo: no existe en el repositorio.
A dónde seguir.

Cierre de la Clase 15 · Árboles de decisión

Qué aprendiste

  • El árbol divide los datos buscando grupos más puros.
  • El Gini de un nodo es su error esperado; se pondera por el tamaño de cada hijo.
  • El árbol se detiene por pureza, o antes, para no sobreajustar.
  • La medida de impureza es un hiperparámetro: se elige con validación cruzada.

Qué no debes confundir

  • Ganancia de pureza (sirve para construir el árbol) ≠ métrica de evaluación (C2 P4).
  • Árbol sin límite ≠ buen modelo: sobreajusta.

Procedimiento para el papel

  1. Calcula la impureza de cada hijo.
  2. Pondera por el tamaño de cada hijo.
  3. Compara con el padre y elige el corte de mayor ganancia.

Viene de: Clase 14 · ROC-AUC y elección del umbral · Sigue: Clase 16 · Random Forest y ensambles

Vuelve a tu activación: Tienes 9 triángulos y 8 círculos. ¿Qué corte los separa mejor, y cómo lo mides? ¿Cambiarías tu respuesta?

Pregunta final. ¿Cuál es el Gini de un nodo con 1 de 8 de una clase y 7 de 8 de la otra?
Respuesta correcta y cómo se resuelve

1/8 · 7/8 + 7/8 · 1/8 = 14/64 = 0,21875. [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:14:34]

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 16 · Random Forest y ensambles

Cierre de la Clase 16 · Random Forest y ensambles

Qué aprendiste

  • Random Forest: muchos árboles con filas por bootstrap y atributos al azar, que votan.
  • La importancia de una variable se cuenta por cuántas veces los árboles la usan para separar.
  • Boosting corrige en secuencia los errores de los árboles anteriores (no se enseñó como tema en clase).
  • El modelo final de Melbourne fue un HistGradientBoosting.

Qué no debes confundir

  • Número de modelos ≠ diversidad (C2 P1).
  • En paralelo (Random Forest) ≠ en secuencia (boosting).

Procedimiento para el papel

  1. ¿Los modelos se equivocan en casos distintos? Si no, sumar modelos no ayuda.
  2. Diversidad: filas distintas (bootstrap) y atributos distintos.

Viene de: Clase 15 · Árboles de decisión · Sigue: Clase 17 · Redes neuronales

Vuelve a tu activación: Tienes 10 modelos que se equivocan exactamente en los mismos casos. ¿Mejora la decisión si los haces votar? ¿Cambiarías tu respuesta?

Pregunta final. Daniel opina exactamente igual que Cristóbal. ¿Sumar a Daniel mejora la decisión del grupo?
Respuesta correcta y cómo se resuelve

No: su opinión está perfectamente correlacionada con la de Cristóbal y no aporta información nueva. [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:30:40]

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 17 · Redes neuronales