Saltar al contenido

lección 6

Domar la complejidad: el modelo honesto

El arreglo contraintuitivo: un modelo más simple. Podas el bosque y tiras el ruido; el acierto honesto sube a 0,61 y Olarra pasa de 90 a 78 millones.

⏱ 55 min

## Jueves, 11:35. ¿Por qué miente el modelo?

Ya sabes QUÉ pasa: el modelo acierta 0,9465 en entrenamiento y solo 0,5956 en validación cruzada, un abismo que grita sobreajuste. Ahora toca el PORQUÉ y, sobre todo, el arreglo. Gorka te da la pista:

1Gorka 11:35
2Dos cosas lo hinchan: el bosque es demasiado profundo (memoriza) y le has metido features que son puro
3ruido, que le dan sitios donde memorizar. Mira la importancia otra vez: ¿qué puntúa que no debería pintar
4NADA en el valor de un jugador?
5
6Tú 11:48
7...el dorsal. Y el día de la semana del último partido. Y el id de ficha interno. No tienen ningún sentido
8futbolístico y aun así el modelo las usa.
9
10Gorka 11:51
11Porque son el pretexto perfecto para memorizar: le dan al modelo señas que identifican a cada jugador en
12vez de patrones de fútbol. El id de ficha es casi único por jugador: con él, el bosque puede "reconocer" a
13cada uno y devolver su valor aprendido. Prueba dos cosas y mídelas con validación cruzada: limita la
14profundidad del bosque, y quédate solo con las features que de verdad importan. A ver si un modelo MÁS
15SIMPLE generaliza mejor.

La pista de Gorka. Dos palancas: la profundidad del bosque (demasiado profundo = memoriza) y las features de ruido (le dan excusas para memorizar). El id_ficha_interno es el peor de todos, porque es casi único por jugador.

## La importancia de las features, ahora mirada en serio

Ayer sacaste la importancia de las features y dejaste pasar lo raro. Hoy lo miras en serio, porque es la prueba del delito. La importancia de una feature es cuánto la usa el bosque para decidir. Si la ordenas de mayor a menor, arriba deberían estar solo cosas con sentido futbolístico, y abajo, nada que no lo tenga. Pero no es lo que pasa: entre las features con sentido se cuelan, a media tabla, el id de ficha, el dorsal y el día de la semana. Columnas que no significan nada sobre el valor de un jugador están pesando tanto o más que la altura o la posición.

La importancia de las features del modelo overfit. Lo revelador no es que el ruido tenga poca importancia (la tiene), sino que no está al fondo del todo: id_ficha_interno, dorsal y las métricas raras pesan más que la altura, una feature con sentido. El bosque las usa para memorizar, y por eso aportan.

## El arreglo contraintuitivo: hacer el modelo más simple

Aquí está la lección que te llevas de la semana, y va en contra del instinto. Cuando un modelo falla, la tentación es darle más: más features, más árboles, más profundidad. Pero el problema no era que al modelo le faltara capacidad: le sobraba. Tenía tanta flexibilidad que la usó para memorizar en vez de aprender. El arreglo es ponerle un presupuesto, obligarle a quedarse con lo que de verdad importa. Dos palancas, las que te dijo Gorka. Primera: limitar la profundidad del bosque (max_depth), para que ningún árbol pueda crecer hasta aislar jugadores sueltos. Segunda: quitar las features de ruido y quedarte solo con las que tienen sentido, para que no tenga dónde memorizar.

Haces las dos cosas y mides —siempre con validación cruzada, nunca con un reparto único—. El bosque honesto usa profundidad limitada (max_depth=12), exige un mínimo de jugadores por hoja para no aislar casos (min_samples_leaf=5) y solo las 14 features de señal, sin ninguna de ruido. El resultado es exactamente lo que Gorka esperaba y lo que a ti te sorprende: el acierto en entrenamiento BAJA de 0,9465 a 0,8177 (ya no memoriza tanto), pero el acierto honesto SUBE de 0,5956 a 0,6094. Con menos features y menos complejidad, el modelo generaliza igual o mejor. El número de entrenamiento empeoró; el que importa, mejoró.

La comparación que cierra el caso. El modelo honesto tiene un acierto de entrenamiento más bajo (0,8177 contra 0,9465): señal de que ya no memoriza. Y su acierto honesto en validación cruzada es un pelín mejor (0,6094 contra 0,5956), con la mitad de features. El abismo se reduce de 0,35 a 0,21: menos memorización.

No esperes que el modelo honesto sea espectacularmente mejor en validación cruzada: pasa de 0,5956 a 0,6094, una mejora pequeña. Lo importante no es esa décima: es que lo consigue con la mitad de features y sin memorizar, y que el abismo con el entrenamiento se reduce a casi la mitad. Un modelo que rinde lo mismo fuera de muestra pero es más simple, más honesto y más fácil de explicar es mejor modelo, aunque el número de validación cruzada apenas suba. La simplicidad no es un lujo: es lo que te permite defenderlo ante Patricia.

## El número honesto de Olarra, y por qué incomoda a Chus

Ahora pasas la fila de Dani Olarra por el modelo honesto. Ayer el modelo overfit le daba 90,56 millones; el honesto le da 77,79. Casi 13 millones menos. ¿Por qué? Porque el modelo overfit había memorizado perfiles parecidos y le devolvía un número inflado; el honesto lo regresa hacia lo que sostienen sus estadísticas reales. Olarra sigue siendo un buen jugador —joven, con buenas stats, una ganga potencial—, pero el dato honesto dice que no vale lo que el primer modelo sugería. Y ese número más bajo es exactamente la conversación incómoda que te espera mañana con Chus, que quería una cifra alta para pelear el fichaje.

Consejo de senior: cuando un modelo honesto te dé un número más bajo que uno inflado, no cedas a la tentación de volver al inflado porque el jefe lo prefiere. El modelo que memoriza le daba a Chus el número que quería no porque supiera de Olarra, sino porque se lo había aprendido. Preferir el número honesto más bajo, con su margen, es lo que separa a un data scientist de alguien que dice lo que le piden. Patricia lo va a agradecer, aunque Chus ponga mala cara un rato.

Regístrate para guardar tu progreso.