lección 6
Las probabilidades mienten (y el AUC no manda)
¿El «0,8» del bosque significa 80%? No: está mal calibrado. Lo arreglas, y el remate es que el AUC no mandaba la decisión; el umbral y la calibración, sí.
⏱ 55 min
## Jueves, 11:35. «¿Y tú te fías de ese 0,12?»
Tienes un umbral de 0,12 elegido por coste y estás a punto de cerrar el día contento. Entonces Lucía te escribe lo de siempre, lo que nadie suele mirar: «antes de que te cases con ese 0,12, ¿has comprobado que el 0,12 del bosque significa de verdad un 12% de probabilidad? Coge todas las lesiones a las que el modelo les da alrededor de 0,8 y mira qué fracción eran graves de verdad. Te vas a llevar una sorpresa». Es una pregunta demoledora, porque todo el umbral que acabas de elegir está construido sobre esos números. Si las probabilidades no son probabilidades de verdad, estás decidiendo sobre arena.
Lo compruebas, y Lucía tenía razón. Agrupas las lesiones por la probabilidad que les dio el modelo y, en cada grupo, miras qué fracción resultó grave. En un modelo bien calibrado, de las lesiones a las que da 0,8 debería ser grave alrededor del 80%; de las que da 0,3, alrededor del 30%. Pero el bosque no cumple: de las lesiones a las que da alrededor de 0,15, solo son graves el 8 %; de las que da 0,45, el 32 %. El modelo infla la probabilidad de grave justo en la zona donde pones el umbral. Sus «probabilidades» ordenan bien —por eso el AUC es alto— pero no son fiables como probabilidades. Eso tiene nombre: el modelo está mal calibrado.
## Medir y arreglar la calibración
La calibración se mide con un número, el Brier score: la media del cuadrado de la diferencia entre la probabilidad que dijo el modelo y lo que de verdad pasó (0 o 1). Cuanto más bajo, mejor calibradas están las probabilidades. Y se arregla con una envoltura de scikit-learn, CalibratedClassifierCV, que aprende una función que corrige las probabilidades del modelo para que digan la verdad, usando validación cruzada interna para no hacer trampa. Esos pliegues internos también se cortan por paciente (GroupKFold), por la misma razón que el corte principal. Entrenas el bosque dentro de ese envoltorio, y las probabilidades que salen ya están calibradas: la curva se pega a la diagonal y el Brier baja.
Por qué el bosque sale mal calibrado y la logística no es una cuestión de cómo funciona cada uno. La regresión logística optimiza directamente algo muy parecido a dar buenas probabilidades, así que de serie están bastante bien calibradas. Un bosque, en cambio, promedia votos de muchos árboles y, con class_weight balanceado, que da más peso a la clase rara en el entrenamiento, tiende a inflar la probabilidad de grave. Ordena de maravilla —de ahí el AUC—, pero sus números no son probabilidades reales. No es un fallo tuyo ni un bug: es la naturaleza del modelo, y por eso se calibra.
## El remate: con el umbral bien puesto, el modelo importa poco
Antes del remate, cierra el círculo del umbral teórico. El bosque calibrado, barrido en validación, elige 0,07; el bosque crudo elegía 0,12. La cuenta decía 1/21 ≈ 0,05. Calibrar acerca el umbral del barrido al de la cuenta, porque ahora un 0,07 significa de verdad un riesgo cercano al 7 %. La mejora del Brier es pequeña, pero se nota justo donde importa: en la zona del umbral.
Y aquí llega la lección más grande del caso, la que separa a un senior. Hasta ahora tienes dos palancas: qué modelo eliges y dónde pones el umbral. La pregunta del millón es cuál de las dos manda la decisión. Lo mides: cada modelo elige su umbral en validación y se mide en la prueba. La logística da un coste de 1262; el bosque sin calibrar, 1435; el bosque calibrado, 1326. La distancia entre el mejor y el peor son 173 puntos: unos 9 graves a 20 cada uno, en una prueba con 316. Es poco para declarar un ganador. Compáralo con lo que movía el umbral: pasar del 0,5 (coste 3689) al umbral por coste (1435) recortó el coste un 61 %.
Lee bien el remate, porque es fácil contarlo mal. NO es que «la logística, peor por AUC, gane por coste». Su umbral elegido en validación es 0,01: deriva casi a todas las lesiones. Y aquí hay una referencia que no puedes olvidar: derivar a TODAS cuesta 1256 en la prueba (las 1256 benignas, una consulta de más cada una). Con 20:1, ningún modelo mejora con claridad esa regla trivial. No es un fallo del modelo: con un umbral teórico de 0,05, una lesión solo se queda en cita normal si el modelo está seguro de que su riesgo es menor de 1 entre 20, y en estos datos hay pocas así. Por eso la ratio del comité importa tanto: decide si el modelo ahorra algo o no.
La consecuencia práctica tiene dos caras. La buena: como las diferencias entre modelos son pequeñas, puedes elegir el que mejor se defienda ante un comité clínico, no el que gane por AUC. La logística tiene ventaja ahí: es más simple, y a un médico le puedes explicar por qué subió o bajó la puntuación de una lesión mirando los coeficientes. La incómoda: con la ratio 20:1, la mejor regla se parece mucho a derivar a casi todas, y eso choca con lo que Tomás puede absorber. Ese choque no lo resuelves tú cambiando el umbral a dedo: lo llevas al comité, con números.
Consejo de senior: la frase que te llevas de este caso es «el AUC te dice qué modelo ordena mejor; no te dice cuál decide mejor». Con el umbral bien puesto, el modelo pasa a ser casi un detalle. Lo que mandaba la decisión era el umbral, y el umbral sale de una ratio de costes que no es tuya. Compara siempre con la regla trivial (derivar a todas, o a ninguna): si tu modelo no la mejora, dilo. Cuando alguien compare modelos solo por AUC, acuérdate de Dermia.
## 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.