lección 8
El umbral no es 0,5
Un clasificador da una probabilidad, y la raya que la vuelve decisión es una palanca que mueves tú según cuánto cueste cada error.
⏱ 55 min
Terminamos lo anterior con una pieza que habíamos dado por supuesta: hablábamos del modelo como si dijera un sí o un no limpio, y resulta que no es así. Un clasificador casi nunca decide directamente. Lo que hace es calcular un número entre 0 y 1, una probabilidad: este movimiento tiene un 0,73 de ser fraude, aquel un 0,12, este otro un 0,51. Es un termómetro de sospecha, no un veredicto. El veredicto, el sí o el no que de verdad bloquea una tarjeta o manda a alguien a una segunda prueba, aparece cuando alguien pone una raya y dice: a partir de aquí, lo llamo fraude. Esa raya tiene un nombre, umbral, y entender que la pones tú, y no el modelo, cambia por completo cómo lees y cómo usas un clasificador.
La mayoría de las herramientas, cuando les pides directamente la decisión, ponen esa raya en el 0,5 por defecto: si la probabilidad pasa de la mitad, sí; si no, no. Parece lo natural, lo neutro, lo que no toma partido. Y es justo ahí donde está el error silencioso, porque el 0,5 no es neutro: es una elección como cualquier otra, solo que tomada por ti sin que te enteres. Poner la raya en la mitad significa tratar los dos errores como si costaran lo mismo, dar por hecho que equivocarse marcando un positivo cuesta exactamente igual que equivocarse dejándolo pasar. Y eso, como ya sabes de leer una matriz de confusión, casi nunca es verdad. El 0,5 es la respuesta por defecto a una pregunta que nadie se ha molestado en hacer.
Hay una imagen que ayuda a interiorizar que el umbral es una decisión y no un dato: piensa en la raya como en el nivel de exigencia de un portero de discoteca. Si el portero deja entrar a todo el que se acerca (umbral bajísimo), no se le escapa ningún cliente bueno, pero también deja pasar a muchos indeseables. Si solo deja entrar a quien lleva traje y viene recomendado (umbral altísimo), el local queda impecable pero se quedan fuera un montón de clientes estupendos que no vestían de etiqueta. No hay un nivel de exigencia correcto en abstracto: depende de si el local prefiere llenarse a toda costa o cuidar al máximo quién entra, y eso lo decide el dueño según su negocio, no el portero según una norma universal. El umbral de tu clasificador es exactamente ese nivel de exigencia, y quien lo fija eres tú, traduciendo a un número lo que tu problema necesita. Dejarlo en 0,5 por defecto es como poner a un portero sin instrucciones: hará algo, pero no lo que a tu local le conviene.
## Por qué los dos errores no cuestan lo mismo
Volvamos a los dos errores de la matriz de confusión, porque son la razón entera de que el umbral importe. Un falso positivo es marcar como fraude una compra legítima: molestas a un cliente honrado, le bloqueas la tarjeta en plena compra, le haces llamar al banco. Un falso negativo es dejar pasar un fraude de verdad: pierdes el dinero de esa transacción. ¿Cuesta lo mismo bloquear a un cliente que perder el importe de un fraude? Depende del importe, del cliente, del negocio, pero casi nunca es igual. Si tus fraudes son de miles de euros y una falsa alarma solo cuesta una llamada de dos minutos, dejar pasar un fraude es muchísimo más caro que una falsa alarma. Si tus clientes son escasos y valiosísimos y los fraudes pequeños, es al revés.
En cuanto aceptas que los dos errores no valen igual, el 0,5 se cae solo. Si dejar pasar un fraude cuesta diez veces más que una falsa alarma, no tiene ningún sentido exigir que el modelo esté más del 50% seguro antes de marcar: te interesa marcar mucho antes, en cuanto haya una sospecha razonable, porque el coste de equivocarte marcando de más es bajo y el de dejar escapar uno es altísimo. Bajas la raya, digamos al 0,25: ahora basta con un 25% de probabilidad para marcar como fraude. Marcarás más cosas, cazarás más fraudes reales (sube la exhaustividad) y, sí, molestarás a más clientes honrados (baja la precisión), pero si tus números de coste dicen que un fraude escapado duele diez veces más, ese cambio te sale a cuenta. El umbral es, literalmente, la perilla con la que ajustas el modelo a lo que cuesta cada error en tu problema.
El ejemplo médico lo deja clarísimo porque los costes son evidentes. Un cribado de cáncer: dejar pasar un tumor (falso negativo) puede costar una vida; una falsa alarma (falso positivo) cuesta una biopsia, un susto y unos días de espera. No son comparables. Ningún médico pondría la raya en el 0,5 ahí: la bajaría muchísimo, hasta que la exhaustividad sea casi total, aceptando a cambio muchas falsas alarmas, porque el coste de las falsas alarmas, por molesto que sea, es asumible y el de un tumor escapado no lo es. El umbral, en ese caso, no es una decisión estadística: es una decisión ética y clínica, traducida a un número. Y así debería ser siempre: el umbral es donde el coste real del problema entra en el modelo.
## El compromiso: una perilla, dos medidas que se mueven al revés
Hay algo mecánico y bonito en cómo el umbral mueve las dos medidas que aprendiste, y conviene verlo con claridad porque es el corazón de la idea. Cuando bajas el umbral, pones la raya más a la izquierda y marcas como positivo más casos. Al marcar más, es imposible que se te escapen tantos positivos reales: la exhaustividad sube. Pero al marcar más, también metes en el saco más casos legítimos que no eran fraude: la precisión baja. Y al revés: si subes el umbral, marcas menos, solo lo que tiene probabilidad altísima, así que casi todo lo que marcas es cierto (precisión alta) pero se te escapan muchos positivos de probabilidad media (exhaustividad baja). Una sola perilla, y las dos medidas colgando de ella, moviéndose siempre en sentidos opuestos.
Este sentido opuesto es lo que se llama el compromiso entre precisión y exhaustividad, y es una de esas verdades que no vas a poder esquivar nunca. No hay magia que te suba las dos a la vez más allá de lo que el modelo da de sí; lo único que puedes hacer es elegir en qué punto de ese balancín te quieres sentar. Y la elección, insistimos porque es lo importante, no es técnica. La hace el coste del problema: cuánto duele cada error. El trabajo del que construye el modelo no es encontrar el umbral correcto en abstracto, porque no existe, sino traducir los costes reales del negocio a una posición en ese balancín, y dejar documentado por qué está donde está.
Hay una forma elegante de poner números a esta decisión que conviene conocer aunque no la domines hoy, porque convierte una intuición en una cuenta. Si consigues estimar cuánto cuesta de media cada falso positivo y cada falso negativo en tu problema (lo que pierdes por un fraude escapado, lo que te cuesta molestar a un cliente honrado), puedes calcular, para cada umbral posible, el coste total esperado del modelo: cuántos errores de cada tipo comete en ese umbral, multiplicado por lo que cuesta cada uno. El umbral bueno es, simplemente, el que minimiza ese coste total. Deja de ser una corazonada y pasa a ser una optimización: pruebas umbrales sobre la validación, calculas el coste de cada uno con tus números reales de negocio, y te quedas con el más barato. Lo difícil casi nunca es la cuenta, es conseguir que el negocio te diga de verdad cuánto cuesta cada error, porque esa conversación obliga a poner precio a cosas que preferirían no cuantificar.
Esta idea de recorrer todos los umbrales posibles, en vez de quedarte con uno, da además una forma de juzgar un modelo entera, independiente de dónde pongas la raya. Si para cada umbral posible apuntas cómo quedan los dos tipos de acierto y los dibujas, obtienes una curva que resume el comportamiento del modelo en todas sus rayas a la vez. Un modelo mejor que otro lo es en toda la curva, no solo en un punto, y eso permite comparar dos modelos sin haber decidido todavía el umbral: eliges primero el mejor modelo mirando su curva completa, y solo después, ya con el modelo elegido, decides dónde poner la raya según el coste. Separar las dos decisiones (qué modelo y qué umbral) es una señal de madurez: son preguntas distintas y mezclarlas lleva a elegir mal las dos. No necesitas construir esa curva ahora; quédate con la idea de que el umbral es una decisión aparte, posterior a la de qué modelo usar.
El umbral SE ELIGE CON LA VALIDACIÓN, nunca con el examen final. Probar varios umbrales y quedarte con el que mejor queda es, ni más ni menos, afinar una decisión mirando los datos; si lo haces sobre el conjunto de prueba, lo contaminas y vuelves a caer en todo lo que has aprendido a evitar. El umbral es un parámetro que se decide, así que se decide con el trozo de validación, y el conjunto de prueba se reserva para medir, ya con el umbral fijado, cómo se comporta de verdad. Elegir el umbral mirando la prueba es la misma trampa de siempre con otra cara.
Pongamos números a esto para que se vea de verdad cómo el coste decide la raya, porque dicho en abstracto suena a teoría y es de lo más práctico que hay. Supón un detector de fraude donde cada fraude que se escapa cuesta de media 500 euros (lo que pierdes) y cada falsa alarma cuesta 5 euros (dos minutos de alguien revisándola). Con el umbral en 0,5, imagina que el modelo deja escapar 40 fraudes y da 10 falsas alarmas: el coste es 40 por 500 más 10 por 5, es decir, 20.250 euros. Ahora bajas el umbral a 0,25: ahora solo se escapan 15 fraudes pero das 90 falsas alarmas. El coste es 15 por 500 más 90 por 5, o sea 7.950 euros. Has triplicado las falsas alarmas y aun así el coste total ha caído a menos de la mitad, porque cada fraude escapado pesa cien veces más que una falsa alarma. El umbral bajo, que mirando solo la precisión parecía peor, es clarísimamente mejor cuando metes el coste real en la cuenta. Sin esos números, la discusión sobre el umbral es una pelea de opiniones; con ellos, es una decisión.
## La probabilidad es información que el sí o el no tira a la basura
Hay una idea más que llevarte, y es un cambio de mentalidad. Cuando le pides a un clasificador la decisión directa, el sí o el no, estás tirando información. Un caso con probabilidad 0,51 y otro con probabilidad 0,99 reciben el mismo veredicto (fraude) si el umbral está en 0,5, pero son casos clarísimamente distintos: el segundo es casi seguro, el primero está en la frontera de la duda. Esa diferencia, que el modelo sí conoce y te está diciendo en la probabilidad, desaparece en cuanto la aplastas a un sí o un no. Y esa diferencia vale oro.
Pensar en probabilidades en vez de en sí o no te abre decisiones mucho más ricas que un corte único. Puedes tener dos umbrales: por debajo del 0,2, dejar pasar automáticamente; por encima del 0,8, bloquear automáticamente; y la franja de en medio, la de la duda, mandarla a que la revise una persona. Puedes ordenar todos los casos sospechosos por probabilidad y empezar a investigar por los más probables, aprovechando mejor un equipo pequeño. Puedes ajustar el umbral a diario según cuánta capacidad de revisión tengas ese día. Todas esas estrategias nacen de quedarte con la probabilidad en vez de aplastarla pronto a una decisión binaria. La función que te da ese número en vez del veredicto se llama predict_proba, y acostumbrarte a pedirla, en lugar de la decisión ya tomada, es una de las señales de que has dejado de usar los modelos como una caja de sí o no.
Un detalle que confunde a mucha gente al principio y conviene aclarar: que un modelo te dé un número entre 0 y 1 no garantiza que ese número sea una probabilidad de verdad, pero para elegir un umbral eso todavía no importa tanto como parece. Para poner la raya en el sitio correcto por coste, lo que de verdad necesitas en esta lección es que el modelo ordene bien los casos, que los más sospechosos reciban más número que los menos sospechosos. Si el orden es bueno, puedes recorrer los umbrales y encontrar el que mejor equilibra tus costes, aunque los números no sean porcentajes exactos. Lo que sí importa es que entiendas que estás trabajando con una escala continua de sospecha, no con un sí o un no, y que la raya es tuya. Más adelante le pondremos una lupa a esa cuestión de si el número es o no una probabilidad real, porque cuando empiezas a usar el valor para algo más que ordenar, deja de dar igual. Por ahora, el mensaje es: el modelo te da una escala, y tú decides dónde cortarla.
Acostúmbrate a pedir predict_proba y no la decisión ya hecha. El veredicto de un modelo es una probabilidad más un umbral que alguien eligió; si solo miras el veredicto, estás aceptando a ciegas un umbral del 0,5 que casi nunca es el bueno. Quédate con la probabilidad, decide tú dónde va la raya según lo que cueste cada error, y te quedará margen para estrategias que un sí o un no no permiten.
## Lo que ya sabes, y lo que viene
Ahora sabes que un clasificador no decide, calcula una probabilidad, y que el sí o el no aparece cuando alguien pone un umbral. El 0,5 por defecto no es neutro: trata los dos errores como si costaran lo mismo, y casi nunca es así. Mover el umbral es la perilla con la que ajustas el modelo al coste real de cada error en tu problema, y lo hace a través del compromiso entre precisión y exhaustividad, que se mueven en sentidos opuestos. Y la probabilidad, antes de aplastarla a una decisión, es información valiosa que te abre estrategias que un veredicto binario cierra. El umbral se elige con la validación, se razona desde los costes, y se documenta.
Pero hemos usado la probabilidad del modelo dando por hecho algo que todavía no hemos comprobado: que cuando el modelo dice 0,80, de verdad significa un 80%. ¿Y si no fuera así? ¿Y si el modelo ordenara bien los casos (da más número a los que de verdad son más probables) pero sus números no fueran probabilidades de verdad, sino una escala suya deformada? Entonces todo lo que acabas de aprender sobre elegir umbrales por coste se tambalea, porque estarías poniendo la raya en un número que no significa lo que crees. Antes de fiarte de una probabilidad para decidir, hay que comprobar que es honesta. Eso es lo siguiente: la calibración.
## 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.