Post

Classificazione

Una spiegazione delle metriche di classificazione

Classificazione

Classificazione

La classificazione è un problema di machine learning che consiste nel catalogare un’istanza in una delle classi previste.
Un classificatore binario è un modello che prende in input un’istanza e restituisce una classe tra due possibili classi; uno multiclasse, invece, restituisce una classe tra più di due possibili classi.
(Un modello di regressione, invece, prende in input un’istanza e restituisce un valore continuo.)
Per semplificare, ci concentreremo sui classificatori binari.

Matrice di confusione

Una matrice di confusione è una tabella che mostra il numero di istanze classificate in modo corretto o errato.

Matrice di confusione

La matrice si dice sbilanciata quando il totale dei positivi reali è molto diverso da quello dei negativi reali.

Metriche di classificazione

I veri e falsi positivi e negativi vengono usati per calcolare diverse metriche di classificazione.
Di solito le metriche vengono calcolate con una soglia (threshold) fissa, per esempio 0.5.
Se il modello restituisce una probabilità maggiore di 0.5, la classe è positiva, altrimenti è negativa.
Dopo aver calcolato le metriche, si può variare la soglia per vedere come cambiano le metriche, al fine di ottenere le migliori prestazioni possibili del modello.

Accuracy

Quante istanze sono state classificate correttamente?

L’accuracy è la proporzione di istanze correttamente classificate rispetto al totale delle istanze.
Un modello perfetto ha un’accuracy di 1, perché tutte le istanze sono classificate correttamente.
Per i dataset fortemente sbilanciati, l’accuracy non è una buona metrica per valutare la qualità di un modello perché, per classi che compaiono raramente, l’accuracy non è rappresentativa del comportamento del modello.

Recall

Se il riferimento sono le istanze positive, quante di queste sono state classificate correttamente?

Il recall (richiamo) è la proporzione di istanze positive correttamente classificate rispetto al totale delle istanze positive reali.
Un modello perfetto ha un recall di 1, perché tutte le istanze positive sono classificate correttamente.

Precision

Quando il modello ha previsto la classe positiva, qual è stata la percentuale di previsioni corrette?

La precisione è la proporzione di istanze positive correttamente classificate rispetto al totale delle istanze classificate positive.
La precisione migliora quando diminuisce il numero di falsi positivi, al contrario del recall che migliora quando diminuisce il numero di falsi negativi.
Un modello perfetto ha una precisione di 1, perché tutte le istanze positive sono classificate correttamente.

F1-score

Per una soglia scelta, quanto bene il modello bilancia il fatto di aver avuto ragione nell’identificare i positivi (Precision) e la percentuale di positivi trovati (Recall)?

Il F1-score è la media armonica di precisione e recall.
Un modello perfetto ha un F1-score di 1, perché precisione e recall sono entrambi 1, altrimenti il F1-score è compreso tra 0 e 1 ed è simile al valore peggiore tra precisione e recall. Questa metrica bilancia l’importanza di precisione e recall ed è preferibile alla precisione per i set di dati con classi sbilanciate perché è più robusta.

ROC

Quanto il modello riesce a mantenere True Positive Rates (TPR) alti e False Positive Rates (FPR) bassi variando la soglia?

ROC (Receiver Operating Characteristic) è una curva che mostra la capacità del modello di distinguere tra classi positive e negative.
Una curva ROC ideale è la seguente, in quanto il modello è in grado di distinguere perfettamente tra classi positive e negative.
Curva ROC ideale

Una pessima curva ROC è la diagonale, in quanto il modello non è in grado di distinguere tra classi positive e negative (modello random).
Curva ROC pessima

In una curva ROC reale, il modello non è in grado di distinguere perfettamente tra classi positive e negative. Il punto che minimizza la distanza dall’angolo in alto a sinistra è la soglia migliore per quel modello.
Curva ROC reale

ROC AUC (Area Under the Curve) è l’area sotto una curva ROC.

Un modello perfetto ha un ROC AUC di 1, perché la curva ROC è una linea retta che va dall’angolo in basso a sinistra all’angolo in alto a destra, chiaramente l’AUC di una curva pessima (diagonale) è 0.5.
Una qualsiasi curva reale ha un AUC compreso tra 0.5 e 1.

PR

Quando il modello ha previsto la classe positiva, quante volte ha avuto ragione? (Precision) e quanti veri positivi ha trovato? (Recall)

PR (Precision-Recall) è una curva che mostra la qualità delle classi positive predette.
Risponde ad una domanda simile a quella del F1 score, ma mentre l’F1 sore è un punto sulla curva PR, la PR valuta l’intero comportamento del modello per tutte le soglie.

La curva ideale è la seguente, in quanto il modello ha avuto sempre ragione nell’identificare i positivi e li ha trovati tutti.
Curva PR ideale

Nella realtà, più la curva si avvicina all’angolo in alto a destra (1.0,1.0), migliore è il modello.
In alternativa, si può pensare che il massimo score F1 corrisponde alla migliore curva PR per il modello. PR AUC (Area Under the Curve) è l’area sotto una curva Precision-Recall.
Un modello perfetto ha un PR AUC di 1.

This post is licensed under CC BY 4.0 by the author.