Come posso calcolare l'AUC dalla curva ROC per la classificazione?


8

Basato su TPR e FPR, ho generato la curva ROC per il mio modello di classificazione binaria. Non so come calcolare il valore AUC. Sarei di grande aiuto per me se mi aiutassi a calcolare il valore AUC.



Grazie per la tua risposta. Qualcuno può aiutarmi spiegando con un semplice esempio?
Rejaul Karim,

Dove sei esattamente turbato?
Aditya,

Risposte:


4

Benvenuto nella community!

Come sapete, l'AUC è solo l'area sotto la curva ROC. Quindi la domanda è più sui metodi numerici poiché hai una serie di punti e vorresti calcolare l'area sotto di essa.

Somma di Riemann

Soluzione banale. Basta fare rettangoli dai punti che hai. L'area di ogni rettangolo è semplicemente il prodotto dei bordi. Quindi riassumili! Probabilmente non ti piace vero ?!

Metodo trapezoidale

Dopo Riemannian, l'algoritmo più semplice e ingenuo per farlo. Hai semplicemente una serie di punti e calcoli semplicemente l'area trapezoidale tra ogni coppia e li sommi come quello che vedi nella figura sotto. Ha il massimo errore di calcolo in quanto semplifica molto il problema.

inserisci qui la descrizione dell'immagine

Metodo Simpson (1/3)

Molto meglio quando parliamo di curve! Manteniamolo semplice e al punto. Puoi modellare la tua funzione in ogni intervallo usando un quadratico (y=un'X2+BX+c) e con 3 punti dati. Utilizzando i tuoi tre punti dati, puoi calcolareun', B e c. Quindi l'area in curva non è così difficile, ma abbiamo una soluzione migliore! Fidati di me o no, il valore di questa integrazione è semplicemente

B-un'6(f(un')+4×f(m)+f(B))

dove (un',f(un')) e (B,f(B)) sono endpoint di intervallo e (m,f(m))è il punto medio. Vedi l'immagine qui sotto da qui per confrontare questi metodi.

inserisci qui la descrizione dell'immagine

Metodi di Romberg

I metodi Simpson e / o Trapezoidali possono essere applicati in modo ricorsivo per ottenere un calcolo più accurato. Si chiama metodo Romberg . La precisione di questi metodi era nella lunghezza dell'intervallo. Intervalli più piccoli offrono un'integrazione più accurata. Romberg usa questo fatto per avvicinarsi iterativamente ad una risposta più accurata.

E ovviamente toni di più algoritmi per farlo.

PS: hai certamente librerie e funzioni in diverse lingue per calcolarlo per te. Scipy offre per esempio Python .

Spero che sia d'aiuto! In bocca al lupo!


Sono contento che abbia aiutato :)
Kasra Manshaei il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.