Objetivo. Elegir un punto de operación y comparar modelos por sus curvas ROC.
- Evidencia de aprendizaje: Construye una curva ROC con cuatro puntos y decide si hay dominancia o cruce.
- Actividad final: La lámina 23, a mano.
- Criterio de dominio: Compara curvas y no puntos, y justifica el umbral por el costo de cada error.
Curva ROC y AUC
Un modelo no es un punto: es una curva. El umbral elige el punto; el modelo dibuja la curva.
Fundamentos de Ciencia de Datos · UdeC · Clase del 7-ago (láminas FCD-07, 22 a 24)
Y aun así rinde puntos directos. La ficha P9 del Certamen 2 (1,0 punto) es exactamente esto: calcular TPR y FPR de dos modelos a varios umbrales y decidir cuál es mejor. El expediente registra la evidencia de esa pregunta como INSUFICIENTE [FUENTE · Repo: 01_DOCUMENTACION/01_CERTAMEN2/02_MAPA_PROCESO_ESTUDIO.md · P9]. Por eso el currículum lo marca como prioritario.
1 · La situación, antes de cualquier fórmula
En la clase del 7-ago el profesor parte de un clasificador de perros y gatos que no entrega una etiqueta, sino una probabilidad. Si dice «90 % perro, 10 % gato», dices perro sin pensarlo. Si dice «50 y 50», necesitas una regla. Esa regla es el umbral, y no está escrita en piedra:
Fíjate en la última parte: el umbral mueve el modelo. El mismo modelo, entrenado una sola vez, se comporta distinto según dónde pongas la raya. Eso deja dos preguntas separadas, que conviene no mezclar nunca:
| Pregunta | Qué la responde |
|---|---|
| ¿Qué tan bien separa este modelo a los positivos de los negativos, antes de decidir dónde cortar? | La curva ROC entera (y su área, el AUC) |
| ¿Dónde corto yo, dado lo que me cuesta cada error? | El punto de operación: un punto de esa curva |
Números pequeños
Cinco perros y cinco gatos; el modelo le da a cada uno su «probabilidad de perro» [DATITO] (cifras ilustrativas). Perro = positivo, así que P = 5 y N = 5.
| Perros (positivos reales) | 0,95 · 0,85 · 0,70 · 0,55 · 0,40 |
|---|---|
| Gatos (negativos reales) | 0,60 · 0,45 · 0,30 · 0,20 · 0,10 |
Corta en tres lugares y cuenta:
| Umbral | Declaro «perro» a… | VP | FP | VP / P | FP / N |
|---|---|---|---|---|---|
| 0,65 | 0,95 · 0,85 · 0,70 | 3 | 0 | 0,6 | 0,0 |
| 0,50 | … + 0,60 (gato) · 0,55 | 4 | 1 | 0,8 | 0,2 |
| 0,35 | … + 0,45 (gato) · 0,40 | 5 | 2 | 1,0 | 0,4 |
Tres umbrales, tres pares. Si pones FP/N en el eje horizontal y VP/P en el vertical, y recorres todos los umbrales posibles, el rastro que queda es la curva ROC (Receiver Operating Characteristic). Recién ahora, la notación de la lámina 22:
| VP | Positivos reales que quedaron del lado «positivo» del umbral se cuenta cambia con el umbral |
| P | Todos los positivos reales, VP + FN dato del mundo no cambia con el umbral |
| FP | Negativos reales que quedaron del lado «positivo» se cuenta cambia con el umbral |
| N | Todos los negativos reales, FP + VN dato del mundo no cambia con el umbral |
| puntaje | La probabilidad que el modelo le asigna a cada caso lo aprende el modelo |
| umbral | Dónde cortas lo decides tú |
TVP es la tasa de verdaderos positivos (en inglés TPR; es el mismo recall o sensibilidad). TFP es la tasa de falsos positivos (FPR). Dos denominadores distintos: TVP mira solo la fila de los positivos reales; TFP, solo la de los negativos reales. [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 22]
2 · Mueve el umbral y mira el punto recorrer la curva
Abajo hay 200 casos inventados [DATITO] (cifras ilustrativas): 50 positivos reales (círculos, arriba de la línea gris) y 150 negativos reales (triángulos, abajo). Cada caso está ubicado según el puntaje que le dio el modelo.
Convención de esta página (la misma de metricas_clasificacion.html): se declara positivo todo caso con puntaje ≥ umbral. Relleno = declarado positivo; solo contorno = declarado negativo.
Respuesta correcta y cómo se resuelve
Si subes el umbral, TVP y TFP bajan las dos (o se quedan quietas si ningún caso cruza la raya); nunca van en sentidos opuestos.
- Con la convención «positivo si puntaje ≥ umbral», subir el umbral solo puede sacar casos de la zona positiva; ningún caso entra.
- Entonces VP no sube (algún positivo puede salir) y FP no sube (algún negativo puede salir).
- P y N son datos del mundo: no cambian con el umbral.
- TVP = VP/P y TFP = FP/N tienen numeradores que bajan o se quedan, y denominadores fijos: bajan o se quedan las dos.
Error típico: elegir «sentidos opuestos» porque se habla de un trade-off. El compromiso es entre detectar más (TVP alto) y alarmar menos (TFP bajo); como las dos tasas se mueven juntas, mejorar una empeora la otra, pero numéricamente van en la misma dirección.
[FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 22] para las fórmulas; [INFERENCIA] el razonamiento por monotonía; compruébalo en el simulador.
● positivos reales (50) arriba · ▲ negativos reales (150) abajo · relleno = declarado positivo · la franja azul es la zona «declaro positivo».
Respuesta correcta y cómo se resuelve
Si separas más las nubes, la curva se acerca a la esquina (0, 1) y el AUC sube; si las juntas hasta superponerlas, la curva cae sobre la diagonal y el AUC se acerca a 0,5.
- Separar las nubes es cambiar el modelo: ahora los positivos reciben puntajes más altos que los negativos.
- Entonces existe un umbral que deja casi todos los círculos a la derecha y casi todos los triángulos a la izquierda: TVP cerca de 1 con TFP cerca de 0.
- Ese punto está pegado a la esquina (0, 1), y la curva pasa por él.
- Con las nubes superpuestas, cualquier umbral deja pasar la misma fracción de positivos que de negativos: TVP ≈ TFP, que es la diagonal.
Error típico: «la curva no cambia; solo se mueve el punto». Eso es lo que hace el umbral. La separación no es un umbral: es la calidad del modelo, y cambia la curva entera.
[DATITO] explicación con el simulador; la diagonal como referencia está en [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/FCD-2026-2_07_Clasificacion.pdf · lámina 24].
Elegir dónde quedarse tiene nombre propio:
El punto de operación no se deduce de la curva: se decide mirando lo que cuesta cada error en el problema. La curva te muestra el menú; el negocio elige el plato.
3 · La lámina 23, a mano
La lámina 22 muestra el mismo conjunto de datos cuatro veces —10 círculos y 5 triángulos— con la línea verde de clasificación en cuatro posiciones, y pide calcular TVP y TFP de cada una; la lámina 23 da los resultados [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 23]. Los cuatro pares oficiales, escritos como (TFP, TVP):
| Panel | TFP | TVP |
|---|---|---|
| 1 · el más exigente | 0,0 | 0,3 |
| 2 | 0,0 | 0,6 |
| 3 | 0,2 | 0,8 |
| 4 · el más permisivo | 0,6 | 1,0 |
Convención (la misma que fija certamen_2.html para la figura del certamen): círculo = positivo; el lado inferior izquierdo de la línea = predicción positiva. Entonces P = 10 y N = 5. Contando sobre las cuatro imágenes de la lámina 22, extraídas del PDF [FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/FCD-2026-2_07_Clasificacion.pdf · lámina 22] (conteo propio [INFERENCIA]; reproduce exactamente los cuatro pares oficiales):
| Panel | Círculos del lado positivo (VP) | Triángulos del lado positivo (FP) |
|---|---|---|
| 1 | 3 | 0 |
| 2 | 6 | 0 |
| 3 | 8 | 1 |
| 4 | 10 | 3 |
- Con esos conteos, calcula TVP = VP/P y TFP = FP/N de cada panel, y completa FN y VN.
- Dibuja un cuadrado con TFP en el eje horizontal y TVP en el vertical, ambos de 0 a 1. Marca los cuatro puntos.
- Agrega (0, 0) y (1, 1) y une todo en orden de TFP creciente. Eso es la curva ROC del modelo.
- ¿Qué panel elegirías si un falso positivo fuera carísimo? ¿Y si lo carísimo fuera el falso negativo?
Respuesta correcta y cómo se resuelve
Los cuatro paneles dan (TFP, TVP) = (0; 0,3), (0; 0,6), (0,2; 0,8) y (0,6; 1,0); con FP carísimo eliges el panel 2 y con FN carísimo el panel 4.
| Panel | VP | FN | FP | VN | TVP = VP/10 | TFP = FP/5 |
|---|---|---|---|---|---|---|
| 1 | 3 | 7 | 0 | 5 | 0,3 | 0,0 |
| 2 | 6 | 4 | 0 | 5 | 0,6 | 0,0 |
| 3 | 8 | 2 | 1 | 4 | 0,8 | 0,2 |
| 4 | 10 | 0 | 3 | 2 | 1,0 | 0,6 |
Coincide con la lámina 23. Verificación de marginales: en cada fila VP + FN = 10 y FP + VN = 5. La curva es (0; 0) → (0; 0,3) → (0; 0,6) → (0,2; 0,8) → (0,6; 1,0) → (1; 1):
Punto 4. Si el falso positivo es carísimo, el panel 2: tiene TFP 0 y, entre los que no alarman en falso, el mayor TVP (0,6). El panel 1 no tiene ninguna ventaja sobre el 2: mismo TFP, menos TVP. Si lo carísimo es el falso negativo, el panel 4: TVP 1,0 al precio de TFP 0,6 — el caso del examen de VIH de la sección 4.
Error típico: dividir FP por P (3/10 = 0,3 en el panel 4) o por el total (3/15 = 0,2). El TFP divide por los negativos reales: 3/5 = 0,6. Y olvidar (0, 0) y (1, 1), que no son paneles pero sí son puntos de toda curva ROC (umbral que no declara nada y umbral que declara todo).
[FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 23] para los pares; conteos VP/FP sobre la figura de la lámina 22 [INFERENCIA].
4 · La distinción del certamen: punto de operación ≠ modelo
El enunciado real del certamen:
[FUENTE · Repo: 01_DOCUMENTACION/01_CERTAMEN2/fuentes/Historial de exámenes para Cristobal Ramon Herrera Jara_ Certamen 2.html]
En ese enunciado, «modelo» es la curva (Modelo 1 y Modelo 2) y «umbral» es cada punto. Pero en clase la palabra se usó de otra manera, y conviene saberlo antes de la prueba:
Su conclusión es correcta como elección de punto de operación: mismo TFP, más TVP, el panel 2 es mejor punto. Lo que la P9 castiga es trasladar eso a dos modelos distintos: tomar un punto del Modelo 1 y un punto del Modelo 2 y declarar un ganador. En tu respuesta escrita, reserva «modelo» para la curva y di «umbral» o «punto de operación» para cada panel.
La misma confusión apareció durante el certamen, y la respuesta del profesor separa las dos cosas:
Dos modelos; un parámetro que mueve el umbral dentro de cada uno. Y cuando en clase sí compara dos modelos distintos, compara curvas:
Dominancia o cruce: los dos casos posibles
| Caso | Cómo se ve | Qué concluyes |
|---|---|---|
| Una curva domina | A igual TFP, una tiene TVP mayor o igual en todo el rango: queda siempre por encima, más cerca de la esquina (0, 1) | Es mejor sin ambigüedad. No importa dónde vayas a operar ni cuánto cueste cada error |
| Las curvas se cruzan | En un tramo de TFP gana una; en otro, la otra | No hay ganador absoluto. Depende del punto de operación, o sea, de cuánto cuesta cada error en el problema |
Y el costo de cada error lo trae el problema, no la curva. El ejemplo que propuso un compañero en clase, y que el profesor validó:
Un examen de tamizaje opera arriba en la curva (TVP alto, aunque suba el TFP) porque el falso positivo se corrige con un segundo examen y el falso negativo no. Si dos modelos se cruzan, esa es la información que decide entre ellos.
Ejercicio estilo certamen
(b) [DATITO] Modelo A: (0; 0,5), (0,1; 0,6), (0,3; 0,7), (0,6; 0,8). Modelo B: (0; 0,1), (0,1; 0,3), (0,3; 0,75), (0,6; 0,95). Agrega (0, 0) y (1, 1) a ambos. ¿Cuál es mejor? Si solo toleras 10 % de falsas alarmas, ¿cuál eliges? ¿Y si toleras 50 %?
Respuesta correcta y cómo se resuelve · (a)
(a) El Modelo X es mejor, porque su curva domina a la de Y: a igual TFP nunca tiene menos TVP.
Compara a igual TFP (misma vertical), interpolando en línea recta entre puntos:
| TFP | TVP de X | TVP de Y |
|---|---|---|
| 0,0 | 0,6 | 0,2 |
| 0,2 | 0,8 | 0,5 |
| 0,4 | 0,9 | 0,8 |
| 0,6 | 1,0 | 0,9 |
| 0,8 | 1,0 | 1,0 |
X nunca queda por debajo de Y: X domina. Es mejor sea cual sea el punto de operación, y la respuesta no necesita ningún AUC. (Si te lo piden: X da 0,900 e Y 0,760 por trapecios; el número confirma, no decide.)
Error típico: comparar solo el «tercer punto» de cada uno —X (0,2; 0,8) contra Y (0,4; 0,8)— y decir «empatan en TVP». Están en TFP distintos: hay que comparar en la misma vertical.
[FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 23] para X; Y es [DATITO]; método de comparación en [FUENTE · Repo: 07_DATITO/06_AUDITORIAS/patron_evaluacion.md · §7].
Respuesta correcta y cómo se resuelve · (b)
(b) Ninguno es mejor en absoluto: las curvas se cruzan y tienen el mismo AUC (0,770); con 10 % de falsas alarmas tolerables eliges A, con 50 % eliges B.
A TFP 0,1: A tiene 0,6 y B 0,3 → gana A. A TFP 0,3: A tiene 0,7 y B 0,75 → gana B. A TFP 0,5: A ≈ 0,77 y B ≈ 0,88 → gana B. Se cruzan cerca de TFP ≈ 0,27 (TVP ≈ 0,69).
Áreas por trapecios, (ancho) × (promedio de alturas):
- A: 0,1·0,55 + 0,2·0,65 + 0,3·0,75 + 0,4·0,90 = 0,055 + 0,130 + 0,225 + 0,360 = 0,770
- B: 0,1·0,20 + 0,2·0,525 + 0,3·0,85 + 0,4·0,975 = 0,020 + 0,105 + 0,255 + 0,390 = 0,770
Mismo AUC, curvas distintas. No hay ganador absoluto: con 10 % de falsas alarmas tolerables eliges A (detecta el doble); con 50 % eliges B. La respuesta de certamen es: «se cruzan; depende del punto de operación; declaro qué error cuesta más y elijo».
Error típico: decidir por el AUC («el de mayor AUC es mejor») o por un solo punto («A tiene TVP 0,5 con TFP 0, así que A es mejor»). Aquí el AUC empata y cada punto solo habla de su tramo.
[DATITO] cifras ilustrativas; criterio de cruce en [FUENTE · Repo: 07_DATITO/06_AUDITORIAS/patron_evaluacion.md · §7].
Compruébalo moviendo el máximo de falsas alarmas que toleras:
5 · El AUC: el área bajo la curva
[DATITO] El AUC (area under the curve) es el área bajo la curva ROC. Resume la curva entera en un número entre 0 y 1:
| AUC | Cómo se ve la curva | Qué significa |
|---|---|---|
| 1,0 | Pasa por la esquina (0, 1) | Existe un umbral que separa perfecto: todos los positivos por encima de todos los negativos |
| 0,5 | Sobre la diagonal de la lámina 24 | Azar: el puntaje no distingue. Declarar positivo al azar con probabilidad p cae en (p, p) |
| < 0,5 | Bajo la diagonal | Peor que el azar: invirtiendo la regla sale uno mejor |
| TFPi+1 − TFPi | El ancho de cada tramo, de un punto al siguiente se lee de la curva |
| (TVPi + TVPi+1)/2 | La altura media del tramo: por eso es un trapecio |
| Σ | Suma sobre todos los tramos, desde (0, 0) hasta (1, 1) |
[DATITO] Un tramo vertical (mismo TFP) tiene ancho cero y no aporta área. Olvidar agregar (0, 0) y (1, 1) es el error de cálculo más común.
Respuesta correcta y cómo se resuelve
El AUC de la curva de la lámina 23 es 0,900.
| Tramo de TFP | Ancho | Altura media | Área |
|---|---|---|---|
| 0 → 0 (vertical) | 0 | — | 0 |
| 0 → 0,2 | 0,2 | (0,6 + 0,8)/2 = 0,70 | 0,140 |
| 0,2 → 0,6 | 0,4 | (0,8 + 1,0)/2 = 0,90 | 0,360 |
| 0,6 → 1,0 | 0,4 | 1,00 | 0,400 |
| AUC | 0,900 | ||
Coincide con el 0,900 de certamen_2.html#p9. Esa
misma ficha documenta que las cifras «AUC ≈ 0,78 y ≈ 0,68» de la respuesta
reconstruida no se derivan de estos puntos. Y la tabla «bajo / medio / alto» con
pares como 0,95/0,34 de
01_DOCUMENTACION/01_CERTAMEN2/03_DEFENSA_ORAL_CERTAMEN.md tampoco sale de
la lámina 23 [FUENTE · Repo: 01_DOCUMENTACION/01_CERTAMEN2/03_DEFENSA_ORAL_CERTAMEN.md].
Si citas un AUC en un oral, que sea este y di de dónde sale.
Error típico: partir en (0; 0,3) sin agregar (0, 0) y (1, 1), lo que deja fuera el último trapecio (0,400) y da 0,500; o asignarle área al tramo vertical en TFP = 0.
[FUENTE · Repo: 05_CLASES/11_PRESENTACIÓN/_markdown/FCD-2026-2_07_Clasificacion.md · lámina 23] para los puntos; método de trapecios [DATITO].
El camino inverso: qué significa el área
[DATITO] El AUC tiene una lectura que no parece un área: es la probabilidad de que un positivo tomado al azar reciba mayor puntaje que un negativo tomado al azar. Mide si el modelo ordena bien, no si corta bien.
Respuesta correcta y cómo se resuelve
En 22 de los 25 pares el perro tiene mayor puntaje (0,88), y el área bajo la ROC también da 0,88: el AUC es la fracción de pares positivo–negativo que el modelo ordena bien.
(a) El perro de 0,95 le gana a los 5 gatos; el de 0,85, a 5; el de 0,70, a 5; el de 0,55, a 4 (pierde con el gato de 0,60); el de 0,40, a 3. Total 22 de 25 = 0,88.
(b) Ordenados de mayor a menor: P P P N P N P N N N. Cada P sube 0,2; cada N avanza 0,2 a la derecha. Puntos: (0; 0) → (0; 0,6) → (0,2; 0,6) → (0,2; 0,8) → (0,4; 0,8) → (0,4; 1) → (1; 1). Área: 0,2·0,6 + 0,2·0,8 + 0,6·1 = 0,12 + 0,16 + 0,60 = 0,88.
(c) Son el mismo número. El AUC dice qué fracción de los pares positivo–negativo el modelo deja en el orden correcto. No dice nada de dónde cortar.
Error típico: leer AUC 0,88 como «acierta el 88 % de los casos». Eso sería una exactitud, y la exactitud depende del umbral: con umbral 0,50 este mismo modelo acierta 8 de 10 (80 %), no 88 %.
[DATITO] cifras ilustrativas de la sección 1; la equivalencia área = pares bien ordenados es la definición estándar [DATITO].
Lo que el AUC no dice
- No fija el umbral. Un AUC de 0,90 no te dice en qué punto operar ni qué TVP vas a tener. Eso sigue siendo una decisión de costos.
- Dos curvas que se cruzan pueden tener el mismo AUC. A y B de la sección 4 dan 0,770 las dos, y en la zona de pocas falsas alarmas A detecta el doble.
- No mira la prevalencia ni los costos. TVP y TFP se calculan dentro de cada clase real; la precisión que vas a ver en producción, no (sección 6).
- No es una exactitud. La exactitud se calcula a un umbral; el AUC, sobre todos. Pueden contar historias distintas.
Respuesta correcta y cómo se resuelve
Sí, es posible: el AUC mide si el modelo ordena bien a los positivos por encima de los negativos en todos los umbrales, y la exactitud mide cuántos casos acierta en un solo umbral; un buen orden con el corte mal puesto da AUC alto y exactitud baja.
- Ejemplo [DATITO]: positivos con puntajes 0,40 y 0,35; negativos con 0,30 y 0,20.
- AUC por pares: los 4 pares positivo–negativo quedan bien ordenados (0,40 > 0,30; 0,40 > 0,20; 0,35 > 0,30; 0,35 > 0,20) → AUC = 4/4 = 1,0.
- Exactitud con umbral 0,5 (positivo si puntaje ≥ 0,5): nadie llega a 0,5, así que todos quedan como negativos. VP = 0, FN = 2, FP = 0, VN = 2 → exactitud = 2/4 = 50 %.
- Sin tocar el modelo, bajando el umbral a 0,32: VP = 2, VN = 2 → exactitud 100 %. El orden ya era perfecto; lo malo era el corte.
- Qué mide cada uno que el otro no: el AUC ignora el umbral y la proporción de clases; la exactitud depende de los dos y no mira el orden.
Error típico: tratar el AUC como «otra exactitud» y
creer que un AUC alto obliga a una exactitud alta. Es el error registrado como
auc_confundido_con_accuracy.
Criterios para revisar tu versión: distingue ordenar de cortar; calcula el AUC contando pares; fija el umbral y la convención antes de contar la exactitud; dice qué cambiar para mejorar la exactitud sin reentrenar. Puedes probarlo en el simulador de la sección 2: separación 3,6 y umbral 0 dan AUC cercano a 1 con exactitud 25 %. Llévale tu respuesta a Datito.
[DATITO] ejemplo ilustrativo; [FUENTE · Repo: 07_DATITO/errores_conceptuales.yaml · auc_confundido_con_accuracy].
6 · FPR ≠ 1 − precisión, y del punto de la ROC a personas reales
Mismo numerador, otro universo. TFP divide FP por los negativos reales (FP + VN); la precisión divide VP por los declarados positivos (VP + FP). El detalle, con el caso del Certamen 2, está en metricas_clasificacion.html y en la ficha certamen_2.html#p8.
La consecuencia para la ROC: la curva no muestra la precisión. TVP y TFP se calculan dentro de cada clase real, así que no cambian si la enfermedad se vuelve más rara. La precisión mezcla las dos clases, y sí cambia. Para pasar de un punto de la curva a personas reales necesitas P y N. El profesor hizo justo ese paso el 4-sep:
Declarados positivos: 20 + 16 = 36, como dice el profesor (la aritmética lo confirma). Precisión = 20/36 = 55,6 %; 1 − precisión = 44,4 %, no el 20 % del TFP. El ejercicio completo, con la matriz y las preguntas que hizo en clase, está en matriz_confusion.html.
Respuesta correcta y cómo se resuelve
Da 208 alarmas con precisión de 4,8 %, y el punto en la ROC no se movió: sigue en (0,2; 1).
P = 10 y N = 990. VP = 1 · 10 = 10; FP = 0,2 · 990 = 198. Alarmas = 208. Precisión = 10/208 = 4,8 %: de cada 100 alarmas, 95 son falsas.
El punto en la ROC no se movió: sigue siendo (0,2; 1). Lo que cambió es el mundo (la prevalencia), y la precisión lo siente; TVP y TFP, no. Por eso una ROC buena no garantiza pocas falsas alarmas en un problema raro.
Error típico: calcular FP = 0,2 · 1.000 (sobre el total) en vez de 0,2 · 990 (sobre los negativos reales), o suponer que la precisión es 1 − TFP = 80 %.
[DATITO] cifras ilustrativas; el mismo paso de la ROC a conteos lo hizo el profesor con 20/80 [FUENTE · Repo: 05_CLASES/transcripciones/2026-09-04T22_05_05Z_Fundamentos_en_Ciencia_de_Datos.md · 1:43:34].
7 · Aplicar y transferir
Otro dominio: fallas en camiones de extracción [DATITO]
Una faena minera tiene un modelo que avisa cuándo un camión de extracción va a fallar. Cifras ilustrativas: en un periodo hay 1.050 revisiones, de las cuales 50 terminan en falla real (P = 50, N = 1.000). La curva ROC del modelo ofrece, entre otros, estos dos puntos de operación:
| Punto | TFP | TVP |
|---|---|---|
| Exigente | 0,05 | 0,70 |
| Permisivo | 0,20 | 0,94 |
Respuesta correcta y cómo se resuelve
(a) El punto permisivo (costo 260 contra 350); (b) con alarma falsa a 3 conviene el exigente (450 contra 660); (c) el AUC no cambia: solo cambia qué punto de la misma curva conviene.
(a) Exigente: VP = 0,70 · 50 = 35 → FN = 15; FP = 0,05 · 1.000 = 50. Costo = 15 · 20 + 50 · 1 = 300 + 50 = 350. Permisivo: VP = 47 → FN = 3; FP = 200. Costo = 60 + 200 = 260. Eliges el permisivo.
(b) Exigente: 300 + 150 = 450. Permisivo: 60 + 600 = 660. Ahora eliges el exigente.
(c) No. El modelo y su curva son los mismos; solo cambió cuál punto conviene. Eso es el punto de operación: una decisión de costos sobre una curva fija.
Error típico: elegir siempre el punto de mayor TVP «porque detecta más fallas», o siempre el de menor TFP, sin hacer la cuenta con los costos y con P y N. Sin costos no hay punto de operación defendible.
[DATITO] cifras ilustrativas; la idea de «hacer los números» para fijar el punto de operación es del profesor [FUENTE · Repo: 05_CLASES/transcripciones/2026-08-07T22_14_16Z_Fundamentos_en_Ciencia_de_Datos.md · 1:11:21–1:11:32].
Tus datos: Galaxy Zoo
Qué hay y qué no hay en tu repositorio. REPORT.md
no trae la curva ROC ni el AUC del modelo CatBoost: esos números no
existen y no hay que inventarlos. Sí trae dos cosas verificables que son de este
tema [FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §8.3 y §10]:
| Variante de la regla de decisión (§10) | Pesos | Predichas clase 0 | Recall clase 0 | Precisión clase 0 |
|---|---|---|---|---|
| A · argmax | [1; 1; 1] | 82 | 0,2604 | 0,3049 |
| B · pesos declarados | [1,7; 0,9; 0,9] | 157 | 0,4688 | 0,2866 |
Y de §8.3: el techo de AUC de una sola variable es 0,754 para 0-vs-resto y 0,9041 para 1-vs-2. La clase 0 tiene 96 de las 1.000 galaxias.
Respuesta correcta y cómo se resuelve
A está en (0,063; 0,260) y B en (0,124; 0,469); no son dos modelos sino dos puntos de operación del mismo CatBoost, y ninguno domina al otro.
(a) A: VP = 0,2604 · 96 = 25; FP = 82 − 25 = 57; TFP = 57/904 = 0,063, TVP = 0,260. B: VP = 0,4688 · 96 = 45; FP = 157 − 45 = 112; TFP = 112/904 = 0,124, TVP = 0,469. Control: 45/157 = 0,2866, la precisión del informe.
(b) No. Son las mismas probabilidades del mismo CatBoost con dos reglas de corte: dos puntos de operación de una misma curva. Con pesos [1,9; 1; 1] (equivalentes a los de B), se declara clase 0 cuando P0 ≥ máx(P1, P2)/1,9: es un umbral sobre P0/máx(P1, P2) que baja de 1 a ≈ 0,53 [INFERENCIA].
(c) Ninguno domina: B detecta más clase 0 a cambio de más falsas alarmas. Y hay un dato más fuerte en §10.1: elegido honestamente (pesos ajustados solo con los folds de entrenamiento), el F1-macro de la regla con pesos es 0,6001, peor que el 0,6163 del argmax. El 0,6339 reportado tenía un sesgo optimista de +0,0338 por elegir el punto de operación sobre los mismos datos con que se evaluó.
Error típico: tratar A y B como «dos modelos» y declarar mejor a B porque su recall es mayor, sin mirar que su TFP casi se duplica (57 → 112 falsas clase 0). Es el error de la P9, en tus propios datos.
[FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §10 y §10.1] para las cifras; TFP y TVP calculados aquí; la lectura como umbral [INFERENCIA].
Eso último es exactamente lo que el profesor le pidió a todos los grupos:
Respuesta correcta y cómo se resuelve
Ninguna variable sola separa bien la clase 0 (la mejor ordena bien cerca del 75 % de los pares, contra 90 % para espiral frente a elíptica); no dice nada del F1 de la clase 0 ni de cómo rinde el modelo completo.
[INFERENCIA] Si usas una sola variable como puntaje, la mejor de todas ordena correctamente un par (galaxia clase 0, galaxia de otra clase) cerca del 75 % de las veces; para separar espirales de elípticas, cerca del 90 %. Ninguna variable individual separa bien la clase 0: calza con que sea una frontera («no hubo consenso»), no un grupo propio.
Lo que no dice: el F1 de la clase 0, en qué umbral operar, ni qué lograría el modelo completo combinando variables. Es un AUC de variables, no del modelo.
Error típico: citar 0,754 como «el AUC de mi modelo».
REPORT.md no trae el AUC del modelo; este número es de variables sueltas.
[FUENTE · Repo: 08_PROYECTO_FCD/Desafio/REPORT.md · §8.3 y §14]; lectura como probabilidad de ordenar bien un par [DATITO].
¿Y Melbourne? Es regresión: predice un precio, no hay umbral ni ROC que trazar [INFERENCIA]. Solo aparecería si convirtieras el problema en clasificación, por ejemplo «¿supera la mediana de 910.000 AUD?».
8 · Procedimiento para el papel
1. DECLARAR clase positiva y qué lado de la línea es «positivo»
2. CONTAR P y N son fijos: no cambian entre umbrales
3. POR UMBRAL VP y FP → TVP = VP/P · TFP = FP/N (dos denominadores)
4. GRAFICAR (TFP, TVP) de cada umbral + (0,0) + (1,1), en orden
5. UN MODELO = UNA CURVA nunca un punto suelto contra otro
6. COMPARAR a igual TFP, ¿cuál tiene más TVP? (o umbral a umbral:
¿uno tiene mayor TVP y menor TFP en todos?)
7. DOMINA → mejor sin ambigüedad
SE CRUZAN → depende del punto de operación: di en qué tramo
gana cada uno y qué error cuesta más
8. AUC solo como resumen; por trapecios si lo piden
9. INTERPRETAR «de cada 10 positivos detecto __; de cada 10
negativos alarmo __»
[FUENTE · Repo: 07_DATITO/06_AUDITORIAS/patron_evaluacion.md · §7 «Comparación con ROC»], ampliado con los pasos de cálculo [DATITO].
- Comparar dos modelos en un solo umbral —o un punto del Modelo 1 contra un punto del Modelo 2— y declarar un ganador.
- Llamar «modelo» a cada umbral en la respuesta escrita. En el certamen, modelo = curva.
- Creer que FPR = 1 − precisión. Mismo numerador, denominadores de universos distintos.
- Creer que el AUC fija el umbral, o que AUC alto garantiza exactitud alta.
- Dividir el TFP por P o por el total: su denominador son los negativos reales.
- Olvidar (0, 0) y (1, 1) al calcular el AUC, o sumarle área a un tramo vertical.
- Decir «subo el umbral» sin declarar la convención.
- Elegir el punto de operación mirando el test. Es un hiperparámetro: se elige en validación.
Un compañero de tu grupo escribe en el informe: «el Modelo 2 es mejor porque en su tercer umbral tiene TPR 0,9 y el Modelo 1, en su tercer umbral, solo 0,8».
En cinco líneas, explícale qué le falta a ese argumento, qué tendría que mirar, y en qué caso podría tener razón. Escríbelo tú, sin mirar esta página, y llévaselo a Datito.
Respuesta correcta y cómo se resuelve
El argumento no alcanza: compara un solo punto de cada modelo y sin su TFP; hay que comparar las curvas completas, y el compañero solo tendría razón si la curva del Modelo 2 quedara por encima en todo el rango o si su aplicación opera justo en el tramo donde el Modelo 2 gana.
Respuesta modelo (cinco líneas):
«Un TPR de 0,9 contra 0,8 no compara nada si no sé a qué TFP ocurre cada uno: el Modelo 2 podría estar alarmando el doble. Además, un modelo no es un umbral, es una curva: el "tercer umbral" de uno no tiene por qué corresponder al del otro. Lo que hay que hacer es poner las dos curvas ROC en el mismo gráfico y comparar a igual TFP. Si la curva del Modelo 2 queda por encima en todo el rango, lo domina y tienes razón sin importar dónde operemos. Si se cruzan, depende del punto de operación: tenemos que decir cuánto nos cuesta cada error y elegir el modelo que gana en ese tramo.»
- Nota que falta el TFP de ambos puntos: un TVP solo no compara nada.
- Dice que un modelo es una curva y que se compara la curva, no un umbral.
- Distingue dominancia (gana en todo el rango) de cruce (depende del punto de operación).
- Si hay cruce, pide el costo de cada error para decidir.
- No usa el AUC como único argumento.
Error típico: «corregirlo» diciendo «mejor comparemos el AUC». Con curvas que se cruzan el AUC puede empatar (A y B de la sección 4) y aun así uno de los dos es claramente mejor en tu punto de operación.
[FUENTE · Repo: 07_DATITO/06_AUDITORIAS/patron_evaluacion.md · §1 P9 y §7]; redacción de la respuesta modelo [DATITO].
certamen_2.html#p9— la pregunta real, con la figura verificada y la respuesta defendible en oralcertamen_2.html#p8— la matriz de confusión del certamen y la trampa FPR ≠ 1 − precisiónmetricas_clasificacion.html— de dónde viene esto: el umbral y los denominadoresmatriz_confusion.html— el ejercicio 20/80 del profesor, completovalidacion_cruzada.html— por qué el punto de operación se elige en validación y no en test
Cierre de la Clase 14 · ROC-AUC y elección del umbral
Qué aprendiste
- El modelo entrega un puntaje; el umbral lo decides tú.
- Cada umbral es un punto; el modelo es la curva completa.
- El AUC resume toda la curva, pero no fija el umbral.
Qué no debes confundir
- Punto de operación ≠ modelo (C2 P9).
- AUC alto ≠ exactitud alta.
- Subir el umbral baja TPR y FPR a la vez: no van en sentidos opuestos.
Procedimiento para el papel
- Un modelo es una curva, no un punto.
- Compara umbral a umbral: ¿uno tiene mayor TPR y menor FPR en todos?
- Si domina en todos, es mejor sin ambigüedad.
- Si se cruzan, depende del punto de operación.
Viene de: Clase 13 · Precisión, sensibilidad, exactitud y F1 · Sigue: Clase 15 · Árboles de decisión
Vuelve a tu activación: El modelo rojo tiene más TPR en un umbral y el naranjo en otro. ¿Cuál es mejor? ¿Cambiarías tu respuesta?
Respuesta correcta y cómo se resuelve
No: depende del punto de operación, es decir, del costo relativo de falsos positivos y negativos. Solo una curva que domina en todos los umbrales es mejor sin ambigüedad. [FUENTE · Repo: 07_DATITO/06_AUDITORIAS/patron_evaluacion.md §7]
El cierre es una síntesis de la clase [DATITO]: cada afirmación tiene su fuente en el cuerpo de este visual. Fuente del cierre: 07_DATITO/clases.yaml.