Práctica guiada — Semana 12: Árboles de Regresión

Introducción al Business Analytics · 06278-ECO

Autor/a

PhD. Eduard F. Martínez-González

1 Contexto de negocio

La Dirección Académica de una universidad quiere anticipar el rendimiento de sus estudiantes antes del cierre del semestre. Tienen un historial de 300 estudiantes con sus resultados parciales y quieren construir un modelo que prediga la nota final numérica (escala 0–5.0) a partir de las notas de los parciales, tareas, quices y el porcentaje de asistencia.

Nuestro trabajo: Entrenar un árbol de regresión, evaluar sus predicciones con MAE y RMSE, comparar contra el baseline y determinar si el modelo es útil para identificar estudiantes en riesgo.

Tu entregable al final de la clase: Una tabla con el MAE y RMSE del árbol (train y test), el MAE del baseline, y una interpretación escrita de máximo 3 líneas sobre si el modelo es útil para la decisión de negocio planteada.


2 Paso 1 — Preparar el entorno


3 Paso 2 — Cargar los datos

Variables del dataset:

  • parcial_1 — Nota del primer parcial (0–5.0)
  • parcial_2 — Nota del segundo parcial (0–5.0)
  • tareas — Promedio de tareas entregadas (0–5.0)
  • quices — Promedio de quices (0–5.0)
  • asistencia — Porcentaje de asistencia al semestre (0–100)
  • nota_finalVariable de resultado: nota final numérica (0–5.0)

4 Paso 3 — Explorar la variable de resultado

Antes de entrenar, siempre exploramos la distribución de lo que queremos predecir. En regresión esto nos da el baseline: si siempre predecimos el promedio, ¿qué tan lejos estamos en promedio?

¿Qué es el baseline en regresión?

El baseline predice siempre el promedio global de la variable de resultado — sin usar ninguna variable predictora. Si el promedio es 3.2, el baseline diría “3.2” para todo estudiante.

El MAE del baseline mide cuánto nos equivocamos en promedio con esa estrategia simple. Nuestro árbol debe superar ese número para demostrar que aprendió algo útil. Anota el promedio — lo calcularás en el Paso 10.


5 Paso 4 — Dividir en entrenamiento y prueba

¿Por qué dividir en regresión también?

Exactamente por la misma razón que en clasificación (Semana 11): el árbol memoriza los datos de entrenamiento. Si medimos el MAE en esos mismos datos, el error parece artificialmente bajo. El conjunto de prueba simula estudiantes futuros que el modelo nunca vio.


6 Paso 5 — Entrenar el árbol de regresión

La única diferencia respecto a la semana pasada está en el argumento method: aquí usamos "anova" en lugar de "class", porque la variable de resultado es numérica.

¿Cómo leer el output de un árbol de regresión?

La estructura es la misma que en clasificación, pero ahora en cada nodo aparece:

  • El valor medio (promedio de nota_final) de las observaciones que llegaron a ese nodo.
  • El número de observaciones en ese nodo.
  • La desviación (varianza residual) — cuánto varían las notas dentro del grupo.

Las hojas marcadas con * muestran el valor que el árbol predice para cualquier estudiante nuevo que caiga allí: el promedio de las notas de los estudiantes de entrenamiento de ese grupo.

Identifica: ¿Cuál es la primera variable que usa el árbol para dividir? ¿Tiene sentido pedagógico que sea esa variable?


7 Paso 6 — Visualizar el árbol

¿Qué muestra el gráfico?

  • Los nodos internos muestran la pregunta de división: variable y umbral.
  • Las hojas muestran el valor predicho (promedio de ese grupo) y el número de observaciones de entrenamiento que cayeron allí.

Compara este árbol con los diagramas SVG de la teoría. ¿Las hojas muestran categorías o números? ¿Cuántos valores distintos puede predecir este árbol?


8 Paso 7 — Predecir en el conjunto de prueba

Advertencia

Diferencia clave con la semana pasada

En clasificación, predict() devolvía una categoría (“Aprobado” / “Rechazado”) y el error era binario: acertó o falló. En regresión, devuelve un número y el error es continuo: puede ser 0.05 o puede ser 1.2. Por eso necesitamos métricas distintas — MAE y RMSE — que cuantifiquen esa magnitud del error.


9 Paso 8 — Calcular el MAE

¿Cómo leer el MAE?

El MAE está en las mismas unidades que la nota final. Si el MAE en test es 0.28, el modelo se equivoca en promedio por 0.28 puntos. En una escala de 5.0, eso equivale a decir que una nota real de 3.5 la predice entre 3.2 y 3.8.

Compara train y test: si el MAE en train es mucho menor que en test, hay sobreajuste — el árbol memorizó los datos de entrenamiento.


10 Paso 9 — Calcular el RMSE

MAE vs. RMSE: ¿qué te dice la diferencia?

Si el RMSE es mucho mayor que el MAE, significa que el modelo tiene algunos errores muy grandes que “jalan” el RMSE hacia arriba. Eso merece investigarse: ¿hay estudiantes específicos para los que el modelo falla mucho? ¿Son casos atípicos o un patrón que el árbol no capturó?

Si RMSE ≈ MAE, los errores son relativamente uniformes — el modelo no tiene predicciones catastróficamente malas.


11 Paso 10 — Calcular el baseline y comparar

Advertencia

¿El árbol mejora el baseline?

Si el MAE del árbol en test es menor que el MAE del baseline, el árbol aprendió algo útil — predice mejor que simplemente decir “todos sacan el promedio”. Si no lo mejora, algo está mal: árbol demasiado superficial, variables poco informativas, o datos insuficientes.

¿En cuántos puntos mejoró? ¿Vale la pena la complejidad del modelo para esa mejora?


12 Paso 11 — Visualizar predicciones vs. valores reales

¿Cómo leer este gráfico?

  • Si todos los puntos estuvieran sobre la línea naranja, el modelo sería perfecto.
  • Los puntos por encima de la línea son casos donde el modelo sobreestimó la nota.
  • Los puntos por debajo son casos donde el modelo subestimó.
  • Los puntos muy alejados de la línea son los errores más grandes — los que más pesan en el RMSE.

Observa: ¿el modelo tiende a sobre- o sub-estimar en algún rango de notas? ¿Los errores más grandes se concentran en notas bajas o altas?


13 Tu entregable: resumen de métricas

Actividad en clase — Entrega individual

Con los resultados de los pasos anteriores, completa esta tabla:


Métricas del árbol de regresión:

Métrica Train Test
MAE ______ ______
RMSE ______ ______

Comparación con el baseline:

MAE
Baseline (predice siempre el promedio) ______
Árbol de regresión (test) ______
Mejora absoluta ______ pts
Reducción porcentual del error ______%

¿Hay sobreajuste?

  • MAE train: ______ · MAE test: ______
  • Diferencia: ______
  • ¿La diferencia es preocupante? ☐ Sí ☐ No

Interpretación (máximo 3 líneas):

¿El modelo es útil para identificar estudiantes en riesgo de reprobar (nota < 3.0)? ¿Recomendarías usarlo tal como está o ajustarías la profundidad? ¿Por qué?





13.1 Checklist

Al finalizar esta práctica, debes poder:

13.2 Preguntas de comprensión

1. En el Paso 5 entrenaste con maxdepth = 3. Si cambias a maxdepth = 1, ¿esperas que el MAE en test suba o baje? ¿Qué pasa con el RMSE? ¿Y si usas maxdepth = 10?

Ver respuesta Con maxdepth = 1 el árbol hace una sola pregunta y predice solo dos valores distintos — muy simple. El MAE en test subirá (subajuste): el modelo no captura suficiente variación en las notas. Con maxdepth = 10 el árbol es muy profundo y puede memorizar los 225 datos de entrenamiento: el MAE en train bajará mucho, pero el MAE en test puede subir (sobreajuste). El mejor punto suele estar en una profundidad intermedia donde train y test tienen MAEs parecidos.

2. El árbol da MAE = 0.24 en test y el baseline da MAE = 0.43. Un compañero dice: “El modelo redujo el error casi a la mitad, es excelente.” ¿Estás de acuerdo con esa sola afirmación? ¿Qué más revisarías?

Ver respuesta La mejora es importante y es una señal positiva. Pero hay que revisar más cosas: primero, si el MAE en train es mucho menor que 0.24 (señal de sobreajuste). Segundo, si el RMSE es mucho mayor que el MAE — indica errores grandes en algunos casos específicos, que podrían ser exactamente los estudiantes en riesgo que más importa predecir bien. Tercero, si el gráfico de predicción vs. real muestra algún sesgo sistemático (el modelo siempre sobreestima notas bajas o subestima notas altas). Un MAE global bueno no garantiza que el modelo funcione bien en el rango crítico (notas cerca de 3.0).

3. La Dirección Académica quiere usar el modelo para enviar tutorías a estudiantes con nota predicha < 3.0. ¿Prefieren un modelo con MAE bajo o con RMSE bajo? ¿Hay alguna métrica de la semana 11 que también sería relevante aquí?

Ver respuesta Para este uso, los errores grandes son especialmente costosos: si el modelo predice 3.4 para un estudiante que en realidad sacará 2.2, ese estudiante no recibe tutorías y reprueba. Ese error grande pesa más en el RMSE — así que preferir un modelo con bajo RMSE tiene sentido. Pero también sería relevante el concepto de recall de la semana 11: si convirtiéramos el problema en clasificación (en riesgo / no en riesgo), el recall mediría cuántos estudiantes realmente en riesgo el modelo sí detecta. Un MAE global bajo puede coexistir con un recall bajo si el modelo falla sistemáticamente en el rango crítico de notas bajas.