Come scegliere una metrica di errore durante la valutazione di un classificatore?


15

Ho visto diversi parametri di errore utilizzati nelle competizioni Kaggle: RMS, mean-square, AUC, tra gli altri. Qual è la regola generale sulla scelta di una metrica di errore, ovvero come si fa a sapere quale metrica di errore utilizzare per un determinato problema? Ci sono delle linee guida?

Risposte:


12

Il pool di metriche di errore che è possibile scegliere è diverso tra classificazione e regressione. In quest'ultimo caso si tenta di prevedere un valore continuo e con la classificazione si prevedono classi discrete come "salutare" o "non salutare". Dagli esempi che hai citato, l'errore quadratico medio radice sarebbe applicabile per la regressione e AUC per la classificazione con due classi.

Lascia che ti dia un po 'più di dettagli sulla classificazione. Hai menzionato l'AUC come misura, che è l'area sotto la curva ROC, che di solito viene applicato solo ai problemi di classificazione binaria con due classi. Sebbene esistano modi per costruire una curva ROC per più di due classi, perdono la semplicità della curva ROC per due classi. Inoltre, le curve ROC possono essere costruite solo se il classificatore di scelta produce un qualche tipo di punteggio associato a ciascuna previsione. Ad esempio, la regressione logistica ti darà le probabilità per ciascuna delle due classi. Oltre alla loro semplicità, le curve ROC hanno il vantaggio di non essere influenzate dal rapporto tra istanze etichettate positivamente e negativamente nei set di dati e non ti costringono a scegliere una soglia. Tuttavia, si consiglia di guardare non solo la curva ROC, ma anche altre visualizzazioni. Consiglierei di dare un'occhiata alle curve di richiamo di precisione e alle curve di costo.una vera misurazione dell'errore, hanno tutti la loro forza e debolezza.

La letteratura che ho trovato utile a questo proposito sono:

Se il tuo classificatore non fornisce alcun tipo di punteggio, devi ricorrere alle misure di base che possono essere ottenute da una matrice di confusione contenente il numero di veri positivi, falsi positivi, veri negativi e falsi negativi. Le visualizzazioni sopra menzionate (ROC, richiamo di precisione, curva dei costi) sono tutte basate su queste tabelle ottenute utilizzando una soglia diversa del punteggio del classificatore. La misura più popolare in questo caso è probabilmente la misura F1. Inoltre, esiste un lungo elenco di misure che è possibile recuperare da una matrice di confusione: sensibilità, specificità, valore predittivo positivo, valore predittivo negativo, precisione, coefficiente di correlazione di Matthews, ... Simile alle curve ROC, le matrici di confusione sono molto facili da capire in il problema di classificazione binaria, ma diventa più complicato con più classi, perché per le classi devi considerare una singola tabella N × N o N 2 × 2 ciascuna confrontando una delle classi ( A ) con tutte le altre classi ( non A ).NN×NN 2×2UNUN


1
NN×NN 2×2

Grazie mille per aver segnalato questo errore, l'ho corretto nella risposta sopra.
sebp,

5

Consentitemi di aggiungere qualche altro pensiero alle risposte già esistenti.

  • la maggior parte dei classificatori ha infatti un punteggio continuo intermedio, sul quale di solito viene applicata una soglia per l'assegnazione di classi rigide (sotto t: classe a, sopra: classe b). Variando questa soglia si ottiene il ROC.
  • In generale, non è una buona idea comprimere una tale curva in un numero. vedere ad esempio il caso contro la stima dell'accuratezza per confrontare gli algoritmi di induzione
    Esistono molti ROC diversi che hanno lo stesso AUC e l'utilità può variare notevolmente per una data applicazione.
  • viceversa: la scelta della soglia può essere praticamente determinata dall'applicazione che hai.
  • Non è necessario esaminare le prestazioni del classificatore al di fuori di questi limiti e se si sceglie una metrica, ciò dovrebbe almeno riassumere solo l'intervallo rilevante delle altre metriche limitate.
  • a seconda del disegno dello studio, la frazione complessiva di campioni correttamente o classificati in modo errato può essere un sommario appropriato o meno e le conclusioni da cui si può trarre dipendono anche dal disegno dello studio: i dati del test riflettono le probabilità precedenti (prevalenza) del classi? Per la popolazione su cui dovrebbe essere usato il tuo classificatore? È stato raccolto in modo stratificato? Ciò è strettamente collegato al fatto che la maggior parte degli utenti di un classificatore sono più interessati ai valori predittivi, ma la sensibilità e la specificità sono molto più facili da misurare.

  • Chiedi informazioni sulle linee guida generali. Una linea guida generale è che devi sapere

    • che tipo di performance hai bisogno (sensibilità, specificità, valori predittivi, ecc. rispondi a domande specifiche sul comportamento del tuo classificatore, vedi cosa ho scritto qui ).
    • Quali campi di lavoro accettabili per queste caratteristiche prestazionali per la tua applicazione ?.
      Questi possono variare ampiamente: potresti essere disposto ad accettare alcuni falsi negativi nella rilevazione dello spam, ma questo non sarebbe un assetto accettabile per la diagnosi dell'HIV ...

Penso che non sarai in grado di trovare una metrica utile se non puoi rispondere a queste domande.

È un po 'come se non ci fosse nemmeno un pranzo libero nella convalida del classificatore.


2

Il tasso di errore di classificazione errata previsto è il metodo che ho usato e visto più spesso. L'AUC del ROC è una misura di un insieme di regole di classificazione. Se l'idea è di confrontare un classificatore specifico con un altro, l'AUC non è appropriata. Qualche forma di errore di classificazione ha più senso in quanto rappresenta più direttamente le prestazioni della regola di classificazione.

Molto lavoro è stato fatto per trovare buone stime del tasso di errore di classificazione a causa della grande distorsione della stima di resubstitution e dell'alta varianza del congedo unico. Bootstrap e stimatori fluidi sono stati ridotti. Vedi ad esempio l'articolo di Efron su JASA 1983 sui miglioramenti del bootstrap rispetto alla validazione incrociata.

Ecco un rapporto tecnico della Stanford University del 1995 di Efron e Tibshirami che riassume la letteratura tra cui alcuni dei miei lavori.


Il confronto delle prestazioni di due classificatori nello stesso set di dati è un altro argomento di cui discutere. In particolare, nel caso di ROC e AUC ci sono un paio di metodi per confrontare le curve ROC nel loro insieme o le stime AUC. Questi sono essenzialmente test statistici con l'ipotesi nulla che il ROC / AUC non differisca. La convalida incrociata vs. bootstrap è un altro argomento interessante, di recente ho visto un articolo ( dx.doi.org/10.1016/j.csda.2010.03.004 ) a riguardo. Immagino che se si considerano tutti gli aspetti contemporaneamente, può diventare piuttosto intimidatorio.
sebp,
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.