L'accuracy (in italiano: accuratezza) è la metrica più semplice di un classificatore: quante previsioni giuste su quante totali. Se su 100 esempi ne indovini 85, accuracy = 85%.
Formula: (veri positivi + veri negativi) / totale.
Pro: facile da capire, da spiegare, da calcolare. Funziona benissimo quando le classi sono bilanciate.
CONTRO ENORME: fa schifo con classi sbilanciate. Esempio classico: classificatore di tumori. Su 1000 pazienti, 10 hanno tumore. Un modello che dice sempre "no tumore" ha accuracy 99%. Brilla. Ed è completamente inutile, anzi pericoloso.
Per questo nei problemi reali si usano più metriche insieme:
- Precision e recall: distinguono tra "quanti che ho detto positivi sono veri" e "quanti veri positivi ho beccato".
- F1-score: media armonica di precision e recall.
- AUC-ROC: misura quanto bene il modello discrimina tra classi a varie soglie.
- Balanced accuracy: accuracy media per classe, gestisce sbilanciamento.
- Confusion matrix: vista completa, da cui si derivano tutte le altre.
Quando l'accuracy va bene davvero:
- Classi bilanciate (50-50, 33-33-33).
- I costi di sbagliare in entrambe le direzioni sono simili.
- Stai facendo un benchmark accademico (MNIST, CIFAR) dove tutti riportano accuracy.
Regola pratica del mestiere: non fidarti mai di un'accuracy alta senza guardare la confusion matrix. Se uno ti vende un modello "99% accurato" senza mostrarti per classe, non sa cosa sta dicendo o ti sta fregando.