¿Cómo puedo calcular el AUC a partir de la curva ROC para la clasificación?

8

Basado en TPR y FPR, he generado una curva ROC para mi modelo de clasificación binaria. No sé cómo calcular el valor de AUC. Sería de gran ayuda para mí si me puede ayudar a calcular el valor de AUC.

Rejaul Karim
fuente
Gracias por tu respuesta. ¿Alguien puede ayudarme explicando con un simple ejemplo?
Rejaul Karim
¿Dónde exactamente estás preocupado?
Aditya

Respuestas:

4

¡Bienvenido a la comunidad!

Como saben, AUC es solo el área bajo la curva ROC. Entonces, la pregunta es más acerca de los métodos numéricos, ya que tiene un conjunto de puntos y le gustaría calcular el área debajo de él.

Suma riemanniana

Solución trivial. Simplemente haz rectángulos a partir de los puntos que tienes. El área de cada rectángulo es simplemente el producto de los bordes. Entonces resumirlos! Probablemente no te guste, ¿verdad?

Método trapezoidal

Después de Riemannian, el algoritmo más simple e ingenuo para hacer esto. Simplemente tiene un conjunto de puntos y simplemente calcula el área trapezoidal entre cada par y los suma como lo que ve en la figura a continuación. Tiene el error de cálculo máximo, ya que simplifica mucho el problema.

ingrese la descripción de la imagen aquí

Método Simpson (1/3)

¡Mucho mejor cuando hablamos de curvas! Hagámoslo simple y al grano. Puede modelar su función en cada intervalo utilizando una cuadrática (y=unaX2+siX+C) y que tiene 3 puntos de datos. Usando sus tres puntos de datos, puede calcularuna, si y C. ¡Entonces el área bajo la curva no es tan difícil, pero tenemos una mejor solución! Confía en mí o no, el valor de esta integración es simplemente

si-una6 6(F(una)+4 4×F(metro)+F(si))

dónde (una,F(una)) y (si,F(si)) son puntos finales de intervalo y (metro,F(metro))Es el punto medio. Vea la imagen a continuación desde aquí para comparar estos métodos.

ingrese la descripción de la imagen aquí

Métodos de Romberg

Los métodos de Simpson y / o trapezoidales pueden aplicarse recursivamente para lograr un cálculo más preciso. Se llama método Romberg . La precisión de estos métodos fue en la duración del intervalo. Los intervalos más pequeños dan una integración más precisa. Romberg usa este hecho para acercarse iterativamente a una respuesta más precisa.

Y, por supuesto, tonos de más algoritmos para hacer eso.

PD: Ciertamente tienes bibliotecas y funciones en diferentes idiomas para calcularlo por ti. Scipy ofrece Python por ejemplo .

¡Espero eso ayude! ¡Buena suerte!

Kasra Manshaei
fuente
Me alegro de que haya ayudado :)
Kasra Manshaei