Come determinare la soglia ottimale per un classificatore e generare una curva ROC?


Risposte:


14

Utilizzare il classificatore SVM per classificare una serie di esempi annotati e "un punto" nello spazio ROC in base a una previsione degli esempi può essere identificato. Supponiamo che il numero di esempi sia 200, prima conta il numero di esempi dei quattro casi.

lun'Beledtruelun'Beledfun'lSepredioctedtrue7128predioctedfun'lSe5744


Quindi calcolare TPR (True Positive Rate) e FPR (False Positive Rate). e Sullo spazio ROC, l'asse x è FPR e l'asse y è TPR. Quindi si ottiene il punto . Per disegnare una curva ROC, basta (1) Regolare alcuni valori di soglia che controllano il numero di esempi etichettati vero o falsoTPR=71/(71+57)=0,5547FPR=28/(28+44)=0,3889(0,3889,0,5547)



Ad esempio, se la concentrazione di determinate proteine ​​al di sopra dell'α% indica una malattia, valori diversi di α producono valori finali differenti di TPR e FPR. I valori di soglia possono essere semplicemente determinati in modo simile alla ricerca della griglia; etichettare esempi di addestramento con valori soglia diversi, addestrare classificatori con diversi set di esempi etichettati, eseguire il classificatore sui dati di test, calcolare i valori FPR e selezionare i valori soglia che coprono FPR basso (vicino a 0) e alto (vicino a 1) valori, cioè vicini a 0, 0,05, 0,1, ..., 0,95, 1

(2) Genera molti set di esempi annotati
(3) Esegui il classificatore sui set di esempi
(4) Calcola un punto (FPR, TPR) per ciascuno di essi
(5) Disegna la curva ROC finale

Alcuni dettagli possono essere verificati in http://it.wikipedia.org/wiki/Receiver_operating_characteristic .

Inoltre, questi due collegamenti sono utili su come determinare una soglia ottimale. Un metodo semplice è quello di prendere quello con la somma massima di tassi positivi e falsi positivi. Altri criteri più fini possono includere altre variabili che coinvolgono soglie diverse come i costi finanziari, ecc.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-ricevitore-operatoria characteristic.html


5
Grazie per la tua spiegazione, che dire della soglia ottimale?
RockTheStar,

1
Spiacente, ho imparato che la soglia ottimale è un termine speciale poco prima. Dopo la ricerca, ho scoperto che il capitolo "3.5 Selezione di una soglia ottimale" del libro "Analisi delle curve caratteristiche operative del ricevitore con SAS" su Google Book contiene alcune spiegazioni dettagliate sulla selezione della soglia ottimale. I due modi ampiamente utilizzati descritti sopra sono quelli di scegliere la soglia che renderà la previsione binaria risultante (1) il più vicino possibile a un predittore perfetto. (2) il più lontano possibile da un predittore non informativo possibile
Tom

Bene, dove posso trovare il riferimento? Grazie!
RockTheStar,

2
Sì, cosa significa "lontano da un predittore non informativo"? Si prega di aggiungere il riferimento.
Simone,

1
Inoltre, ho anche appena letto che ci sono molti criteri per determinare una soglia ottimale. Ad esempio, un semplice criterio è che tra tutte le soglie, scegli quella con la somma massima di valori vero-positivo e falso-negativo. Esistono anche altri criteri più sofisticati.
Tom,

3

Un modo davvero semplice per scegliere una soglia è quello di prendere i valori previsti mediani dei casi positivi per un set di test. Questa diventa la tua soglia.

La soglia si avvicina relativamente alla stessa soglia che si otterrebbe usando la curva roc in cui si sovrappongono il tasso positivo reale (tpr) e 1 - tasso positivo falso (fpr). Questa croce tpr (croce) 1-fpr massimizza il vero positivo minimizzando i falsi negativi.


Vedo. Valore previsto mediano. Grazie per il suggerimento
RockTheStar,

2
Esiste una fonte per questo metodo?
JEquihua

1
Ciò equivale a scegliere il punto con TPR = 0,5 nella curva ROC, che suona davvero arbitrario.
Bananin

Valore previsto mediano? E cosa succede se hai uno squilibrio di classe di 1000: 1?
Due

3

Scegli il punto più vicino all'angolo in alto a sinistra del tuo spazio ROC. Ora la soglia utilizzata per generare questo punto dovrebbe essere quella ottimale.


2
Come farlo automaticamente?
Due

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.