¿Cómo determinar el umbral óptimo para un clasificador y generar la curva ROC?

27

Digamos que tenemos un clasificador SVM, ¿cómo generamos la curva ROC? (Como teóricamente) (porque estamos generando TPR y FPR con cada uno de los umbrales). ¿Y cómo determinamos el umbral óptimo para este clasificador SVM?

RockTheStar
fuente
2
Probablemente esto ayudará a stackoverflow.com/questions/28719067/…
prashanth

Respuestas:

14

Use el clasificador SVM para clasificar un conjunto de ejemplos anotados, y se puede identificar "un punto" en el espacio ROC basado en una predicción de los ejemplos. Supongamos que el número de ejemplos es 200, primero cuente el número de ejemplos de los cuatro casos.

lunasimilmiretrtumilunasimilmireFunalsmipagsrmireyodotmiretrtumi7128pagsrmireyodotmireFunalsmi5744


Luego calcule TPR (tasa positiva verdadera) y FPR (tasa positiva falsa). , y En el espacio ROC, el eje x es FPR y el eje y es TPR. Entonces se obtiene el punto . Para dibujar una curva ROC, simplemente (1) Ajuste algún valor umbral que controle el número de ejemplos etiquetados como verdadero o falsoTPAGSR=71/ /(71+57)=0,5547FPAGSR=28/ /(28+44)=0.3889(0.3889,0,5547)



Por ejemplo, si la concentración de ciertas proteínas por encima de α% significa una enfermedad, los diferentes valores de α producen diferentes valores finales de TPR y FPR. Los valores de umbral pueden determinarse simplemente de una manera similar a la búsqueda de cuadrícula; etiquetar ejemplos de entrenamiento con diferentes valores de umbral, entrenar clasificadores con diferentes conjuntos de ejemplos etiquetados, ejecutar el clasificador en los datos de prueba, calcular los valores de FPR y seleccionar los valores de umbral que cubren FPR bajo (cercano a 0) y alto (cercano a 1) valores, es decir, cerca de 0, 0.05, 0.1, ..., 0.95, 1

(2) Genere muchos conjuntos de ejemplos anotados
(3) Ejecute el clasificador en los conjuntos de ejemplos
(4) Calcule un punto (FPR, TPR) para cada uno de ellos
(5) Dibuje la curva ROC final

Algunos detalles se pueden consultar en http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Además, estos dos enlaces son útiles sobre cómo determinar un umbral óptimo. Un método simple es tomar el que tenga la suma máxima de tasas verdaderas positivas y falsas negativas. Otros criterios más precisos pueden incluir otras variables que involucran diferentes umbrales como costos financieros, etc.
http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-receptor-operating-feature.html

Tom
fuente
55
Gracias por su explicación, ¿qué pasa con el umbral óptimo?
RockTheStar
1
Lo siento, aprendí que el umbral óptimo es un término especial justo antes. Después de buscar, encontré que el capítulo "3.5 Selección de un umbral óptimo" del libro "Análisis de curvas características de funcionamiento del receptor con SAS" en Google Book tiene una explicación detallada sobre cómo seleccionar el umbral óptimo. Las dos formas ampliamente utilizadas, como se describe en él, son elegir el umbral que hará que la predicción binaria resultante (1) sea lo más cercana posible a un predictor perfecto. (2) lo más lejos posible de un predictor no informativo
Tom
Genial, ¿dónde puedo encontrar la referencia? ¡Gracias!
RockTheStar
2
Sí, ¿qué significa "lejos de un predictor no informativo"? Por favor agregue la referencia.
Simone
1
Además, también acabo de leer que hay muchos criterios para determinar un umbral óptimo. Por ejemplo, un criterio simple es que, entre todos los umbrales, elija el que tenga la suma máxima de valores verdaderos positivos y falsos negativos. También hay otros criterios más sofisticados.
Tom
3

Una forma realmente fácil de elegir un umbral es tomar los valores medios predichos de los casos positivos para un conjunto de pruebas. Esto se convierte en tu umbral.

El umbral se acerca relativamente al mismo umbral que obtendría al usar la curva roc donde se superponen la tasa positiva verdadera (tpr) y 1 - tasa positiva falsa (fpr). Este tpr (cruce) 1-fpr cruza maximiza el verdadero positivo mientras minimiza los falsos negativos.

Ish Mitch
fuente
Veo. Valor predicho medio. Gracias por la sugerencia.
RockTheStar
2
¿Hay alguna fuente para este método?
JEquihua
1
Esto es equivalente a elegir el punto con TPR = 0.5 en la curva ROC, lo que suena realmente arbitrario.
Bananin
¿Valor medio predicho? ¿Y qué sucede si tienes un desequilibrio de clase de 1000: 1?
ldmtwo
3

Elija el punto más cercano a la esquina superior izquierda de su espacio ROC. Ahora el umbral utilizado para generar este punto debería ser el óptimo.

dr_rk
fuente
2
¿Cómo hacer esto automáticamente?
ldmtwo
1

TPAGSR-FPAGSR

Bananin
fuente