En la discusión: cómo generar una curva roc para la clasificación binaria , creo que la confusión fue que un "clasificador binario" (que es cualquier clasificador que separa 2 clases) fue para Yang lo que se llama un "clasificador discreto" (que produce salidas discretas 0/1 como un SVM) y no salidas continuas como los clasificadores ANN o Bayes ... etc. Entonces, la discusión fue sobre cómo se traza el ROC para "clasificadores continuos binarios", y la respuesta es que las salidas están ordenadas por sus puntajes ya que los resultados son continuos, y se usa un umbral para producir cada punto en la curva ROC.
Mi pregunta es para "clasificadores discretos binarios", como SVM, los valores de salida son 0 o 1. Por lo tanto, el ROC produce solo un punto y no una curva. ¡Estoy confundido sobre por qué todavía lo llamamos curva! ¿Podemos seguir hablando de umbrales? ¿Cómo se pueden usar umbrales en SVM en particular? ¿Cómo se puede calcular el AUC ?, ¿la validación cruzada juega algún papel aquí?
fuente
Respuestas:
Sí, hay situaciones en las que no se puede obtener la curva de funcionamiento habitual del receptor y solo existe un punto.
Los SVM se pueden configurar para que generen probabilidades de pertenencia a clases. Estos serían el valor habitual para el cual se variaría un umbral para producir una curva de operación del receptor .
¿Es esto lo que estás buscando?
Los pasos en el ROC generalmente ocurren con un pequeño número de casos de prueba en lugar de tener algo que ver con una variación discreta en la covariable (en particular, terminas con los mismos puntos si eliges tus umbrales discretos para que para cada nuevo punto solo cambie una muestra su asignación).
La variación continua de otros parámetros (hiper) del modelo, por supuesto, produce conjuntos de pares de especificidad / sensibilidad que dan otras curvas en el sistema de coordenadas FPR; TPR.
La interpretación de una curva, por supuesto, depende de qué variación generó la curva.
Aquí hay un ROC habitual (es decir, solicitar probabilidades como salida) para la clase "versicolor" del conjunto de datos de iris:
El mismo tipo de sistema de coordenadas, pero TPR y FPR como función de los parámetros de ajuste γ y C:
FPR; TPR (γ, C = 1, umbral de probabilidad = 0.5):
FPR; TPR (γ = 1, C, umbral de probabilidad = 0.5):
Estas tramas tienen un significado, ¡pero el significado es decididamente diferente del de la ROC habitual!
Aquí está el código R que utilicé:
fuente
these plots do have a meaning
- ¿Cuál es el significado de esas tramas?fuente
La curva ROC traza la especificidad frente a la sensibilidad que varía con el umbral de una covariable (que puede ser continua o discreta). Creo que estás confundiendo la covariable con la respuesta y quizás no entiendes completamente qué es una curva ROC. Ciertamente es una curva si la covariable es continua y observamos un umbral para que la covariable cambie continuamente. Si la covariable es discreta, aún puede trazar en función de un umbral continuo. Entonces la curva sería plana con pasos hacia arriba (o hacia abajo) en umbrales que corresponden a los valores discretos de la covariable. Entonces esto se aplicaría a SVM y a cualquier otro clasificador discreto.
Con respecto al AUC ya que todavía tenemos un ROC (uno estimado), aún podemos calcular el área debajo de él. No estoy seguro de por qué tenía en mente su pregunta sobre la validación cruzada. En el contexto de los problemas de clasificación, la validación cruzada se utiliza para obtener estimaciones imparciales o casi imparciales de las tasas de error para el clasificador. Entonces puede entrar en cómo estimamos los puntos en el ROC.
fuente