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.
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.
Risposte:
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.
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 ?!
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.
Molto meglio quando parliamo di curve! Manteniamolo semplice e al punto. Puoi modellare la tua funzione in ogni intervallo usando un quadratico () e con 3 punti dati. Utilizzando i tuoi tre punti dati, puoi calcolare, e . Quindi l'area in curva non è così difficile, ma abbiamo una soluzione migliore! Fidati di me o no, il valore di questa integrazione è semplicemente
dove e sono endpoint di intervallo e è il punto medio. Vedi l'immagine qui sotto da qui per confrontare questi metodi.
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!