Come misurare le prestazioni di un classificatore quando vicino al 100% delle etichette di classe appartiene a una classe?


9

Nel mio dati, ho una variabile di classe, indicata come . I valori di questa variabile di classe sono (binario). Quasi tutte le osservazioni di sono 0 (vicino al 100%, più precisamente, 97%). Vorrei un test di "prestazione" su diversi modelli di classificazione (potrebbe essere la precisione). Ciò che temo di accadere è che se ho un modello di classificazione che classifica sempre qualsiasi osservazione nella classe 0, quel modello sarà accurato al 97% (anche se non considera mai altre variabili).0 , 1 CC0,1C

Esistono test di prestazione ben noti per i modelli di classificazione sui dati relativi a eventi molto rari?

Risposte:


3

Mi vengono in mente alcune possibilità.

Guardare il tasso di hit complessivo di solito non è una buona idea in quanto dipenderà dalla composizione del set di test se le prestazioni per le diverse classi differiscono. Quindi, almeno, dovresti specificare (e giustificare) la frequenza relativa delle classi nei tuoi dati di test al fine di ricavare un valore significativo.

In secondo luogo, come già detto da @Shorack, specificare quali tipi di errore sono importanti. Spesso, il classificatore deve soddisfare determinati criteri di prestazione per essere utile (e l'accuratezza complessiva è raramente la misura adeguata). Esistono misure come la sensibilità, la specificità, il valore preventivo positivo e negativo che tengono conto delle diverse classi e dei diversi tipi di classificazione errata. Puoi dire che queste misure rispondono a diverse domande sul classificatore:

  • sensibilità: quale frazione di casi veramente appartenenti alla classe C è riconosciuta come tale?
  • specificità: quale frazione di casi realmente non appartenenti alla classe C è riconosciuta come tale?
  • valore predittivo positivo: dato che il classificatore prevede la classe C, qual è la probabilità che questa previsione sia corretta?
  • valore predittivo negativo: dato che il classificatore prevede che il caso non è della classe C, qual è la probabilità che questa previsione sia corretta?

Queste domande spesso consentono di formulare specifiche che il classificatore deve avere per essere utile.

I valori predittivi sono spesso più importanti dal punto di vista dell'applicazione pratica del classificatore: sono condizionati dalla previsione, che è la situazione in cui ci si trova quando si applica il classifer (un paziente di solito non è interessato a sapere con quale probabilità il test è riconoscere i casi di malattia, ma piuttosto quanto è probabile che la diagnosi dichiarata sia corretta). Tuttavia, per calcolarli correttamente è necessario conoscere le frequenze relative delle diverse classi nella popolazione per cui viene utilizzato il classificatore (sembra che tu abbia queste informazioni - quindi non c'è nulla che ti impedisca di guardarle).

Puoi anche esaminare il guadagno di informazioni che ti offre una previsione positiva o negativa. Questo è misurato dal rapporto di probabilità positivo e negativo, LR⁺ e LR⁻. In breve, ti dicono quanto la previsione cambia le probabilità verso la classe in questione. (vedi la mia risposta qui per una spiegazione più dettagliata)

Per il tuo banale classificatore, le cose sembrano così: userò la classe "0" come classe in questione, quindi "positivo" significa classe "0". Su 100 casi, 100 sono previsti positivi (per appartenere alla classe 0). 97 di loro lo fanno davvero, 3 no. La sensibilità per la classe 0 è del 100% (sono stati riconosciuti tutti i 97 casi veramente appartenenti alla classe 0), la specificità è 0 (nessuno degli altri casi è stato riconosciuto). il valore predittivo positivo (supponendo che la frequenza relativa 97: 3 sia rappresentativa) è del 97%, il valore predittivo negativo non può essere calcolato poiché non si è verificata alcuna previsione negativa.

LR-=1-sensibilitàLR+=sensibilità1-specificità=1
LR-=1-sensibilitàspecificità=00
Ora LR⁺ e LR⁻ sono fattori con i quali moltiplichi le probabilità che il caso appartenga alla classe positiva ("0"). Avere un LR⁺ di 1 significa che la previsione positiva non ti ha dato alcuna informazione: non cambierà le probabilità. Quindi qui hai una misura che esprime chiaramente il fatto che il tuo banale classificatore non aggiunge alcuna informazione .


Direzione dei pensieri completamente diversa: dici che desideri valutare diversi classificatori. Sembra un po 'come il confronto o la selezione del classificatore. L'avvertenza con le misure che discusso sopra è che sono soggette a un'incertezza casuale molto elevata (nel senso che sono necessari molti casi di test) se li si valuta su etichette di classe "difficili". Se la previsione è principalmente continua (metrica, ad esempio probabilità posteriore), è possibile utilizzare misure correlate che esaminano lo stesso tipo di domanda ma non utilizzano frazioni di casi ma misure continue, vedere qui . Questi saranno anche più adatti per rilevare piccole differenze nelle previsioni.

(@FrankHarrell ti dirà che hai bisogno di "regole di punteggio adeguate", quindi questo è un altro termine di ricerca da tenere a mente.)


3

Prima di tutto: tutti i colpi sono ugualmente importanti e tutti i colpi ugualmente importanti? Se è così, allora non c'è nulla di sbagliato nel punteggio del tuo modello nullo così buono: è semplicemente un'ottima soluzione.

Se ritieni importante avere una buona prestazione nel predire gli 1, puoi usare invece la misura F. È fondamentalmente la media armonica di richiamo (quale parte degli 1 effettivi è stata prevista come 1) e precisione (quale parte degli 1 previsti era in realtà un 1). Affinché un modello ottenga un punteggio elevato in questa misura, deve:

  1. Trova la maggior parte degli 1.
  2. Non predire spesso un 1 quando in realtà è 0.

E deve fare entrambe le cose contemporaneamente. Anche se il tuo modello esegue solo uno dei 2 in modo quasi perfetto, avrà un punteggio basso se non si esibisce sull'altro requisito. https://en.wikipedia.org/wiki/F1_score


Questa è una regola di punteggio impropria che utilizza solo 1 bit di informazioni dalle previsioni. Le regole di punteggio errate sono ottimizzate da modelli fasulli.
Frank Harrell,

2

cYY=1YR2χ2 per farlo) e non è abbastanza sensibile da poter essere utilizzato per confrontare due modelli, è un bel riassunto di un singolo modello.


1

Le caratteristiche operative del ricevitore (ROC) http://en.wikipedia.org/wiki/Receiver_operating_characteristic curve e i calcoli associati (ovvero Area Under Curve-AUC) sono comunemente usati. fondamentalmente immagini che il tuo classificatore fornisca una risposta continua (ad esempio tra 0 e 1) e traccia la sensibilità rispetto al tasso di falsi allarmi (1- specificità) poiché la soglia di decisione varia tra 0 e 1. Questi sono stati specificamente progettati per eventi rari (individuazione del nemico aerei?).


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.