Precision e Recall

[preciscion e ricol]

Le due metriche fondamentali della classificazione binaria. Precision: quanti dei positivi previsti sono veri. Recall: quanti dei veri positivi hai beccato.

Precision e recall sono le due facce della stessa medaglia nella classificazione binaria. Capirle è il momento in cui passi da dilettante a professionista.

Precision: dei casi che ho previsto positivi, quanti sono veramente positivi? Formula: VP / (VP + FP). Misura quanto sono preciso quando dico "sì".

Recall (o sensibilità): dei casi veramente positivi, quanti ne ho beccati? Formula: VP / (VP + FN). Misura quanto sono completo nel trovare i positivi.

Trade-off: alzare uno di solito abbassa l'altro. Esempio: classificatore di spam.

  • Alta precision: marchio come spam solo email che SO essere spam. Pochi falsi positivi (email vere finite in spam). Ma magari mi sfuggono spam (basso recall).
  • Alto recall: marchio come spam tutto quel che mi insospettisce. Beccavo tutti gli spam. Ma molte email vere finiscono in spam (basso precision).

Quale ottimizzare? Dipende dal costo degli errori:

  • Diagnosi tumore: alto recall! Meglio spaventare un sano che mancare un malato.
  • Spam filter: alto precision! Meglio lasciare passare uno spam che spostare in spam un'email importante.
  • Sistema di raccomandazione: alta precision (raccomandazioni rilevanti), il recall conta meno.

Per bilanciare entrambe c'è l'F1-score. Per un quadro completo, la confusion matrix.

Soglia di decisione: la maggior parte dei modelli dà una probabilità (es. 0.73). Tu decidi la soglia (di solito 0.5). Cambiando la soglia muovi il trade-off precision/recall. Curve precision-recall e ROC visualizzano questo trade-off completo.

Un classificatore "buono" su entrambe è quello che ha curva precision-recall vicina al rettangolo perfetto (in alto a destra). Se la curva si schiaccia in basso, il modello fa schifo.