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?
machine-learning
svm
RockTheStar
fuente
fuente
Respuestas:
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.
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 falso
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
fuente
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.
fuente
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.
fuente
fuente