Davvero un'ottima domanda, e trovo che la maggior parte delle persone non capisca davvero a livello intuitivo. AUC
è infatti spesso preferito rispetto alla precisione per la classificazione binaria per una serie di ragioni diverse. Prima però parliamo esattamente di cosa si AUC
tratta. Onestamente, per essere una delle metriche di efficacia più utilizzate, è sorprendentemente ottuso capire esattamente come AUC
funziona.
AUC
sta per Area Under the Curve
quale curva chiedi? Bene, quella sarebbe la ROC
curva. ROC
è l'acronimo di Receiver Operating Characteristic , che in realtà è leggermente non intuitivo. L'obiettivo implicito AUC
è quello di affrontare situazioni in cui si ha una distribuzione del campione molto distorta e non si desidera adattarsi a una singola classe.
Un ottimo esempio è nel rilevamento dello spam. Generalmente, i set di dati spam sono fortemente distorti verso ham o non spam. Se il tuo set di dati è ham al 90%, puoi ottenere una precisione dannatamente buona semplicemente dicendo che ogni singola email è ham, che è ovviamente qualcosa che indica un classificatore non ideale. Cominciamo con un paio di metriche che sono un po 'più utili per noi, in particolare il tasso positivo reale ( TPR
) e il tasso falso positivo ( FPR
):
Ora in questo grafico, TPR
è specificamente il rapporto tra veri positivi e tutti i positivi, ed FPR
è il rapporto tra falsi positivi e tutti i negativi. (Ricorda, questo è solo per la classificazione binaria.) Su un grafico come questo, dovrebbe essere abbastanza semplice capire che una previsione di tutti gli 0 o tutti gli 1 comporterà i punti di (0,0)
e (1,1)
rispettivamente. Se si traccia una linea attraverso queste linee si ottiene qualcosa del genere:
Che assomiglia sostanzialmente a una linea diagonale (lo è), e con una semplice geometria, puoi vedere che il AUC
modello sarebbe 0.5
(l'altezza e la base sono entrambe 1). Allo stesso modo, se prevedi un assortimento casuale di 0 e 1, diciamo il 90% di 1, potresti ottenere il punto (0.9, 0.9)
, che ricade di nuovo lungo quella linea diagonale.
Ora arriva la parte interessante. E se non avessimo previsto solo 0 e 1? E se invece volessimo dire che, in teoria, avremmo impostato un limite, al di sopra del quale ogni risultato era un 1 e al di sotto del quale ogni risultato era uno 0. Ciò significherebbe che agli estremi si ottiene la situazione originale in cui si hanno tutti gli 0 e tutti gli 1 (rispettivamente con un taglio di 0 e 1), ma anche una serie di stati intermedi che rientrano nel 1x1
grafico che contiene il tuo ROC
. In pratica ottieni qualcosa del genere:
Quindi, fondamentalmente, quello che stai effettivamente ottenendo quando fai AUC
un'accuratezza eccessiva è qualcosa che scoraggia fortemente le persone che cercano modelli rappresentativi, ma non discriminatori, in quanto selezioneranno solo modelli che ottengono tassi di falsi positivi e veri positivi che sono significativamente al di sopra della possibilità casuale, che non è garantita per la precisione.