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:352Dos cosas lo hinchan: el bosque es demasiado profundo (memoriza) y le has metido features que son puro3ruido, que le dan sitios donde memorizar. Mira la importancia otra vez: ¿qué puntúa que no debería pintar4NADA en el valor de un jugador?56Tú 11:487...el dorsal. Y el día de la semana del último partido. Y el id de ficha interno. No tienen ningún sentido8futbolístico y aun así el modelo las usa.910Gorka 11:5111Porque son el pretexto perfecto para memorizar: le dan al modelo señas que identifican a cada jugador en12vez de patrones de fútbol. El id de ficha es casi único por jugador: con él, el bosque puede "reconocer" a13cada uno y devolver su valor aprendido. Prueba dos cosas y mídelas con validación cruzada: limita la14profundidad del bosque, y quédate solo con las features que de verdad importan. A ver si un modelo MÁS15SIMPLE 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.
## 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ó.
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.
## comentarios
Reporta erratas, ayuda a otros o comparte tu opinión. Sé constructivo.
Inicia sesión para comentar y responder.
cargando comentarios...
Regístrate para guardar tu progreso.