Metriche di valutazione

Il set di dati è suddiviso in due parti: un set per il training e un set per i test. Il set di training viene usato per eseguire il training del modello, mentre il set di test viene usato come test per il modello dopo il training per calcolare le prestazioni e la valutazione del modello. Il set di test non viene introdotto nel modello tramite il processo di training per assicurarsi che il modello venga testato sui nuovi dati.

La valutazione del modello viene attivata automaticamente al termine del training. Il processo di valutazione inizia usando il modello sottoposto a training per stimare le classi definite dall'utente per i documenti nel set di test e li confronta con i tag di dati forniti (che stabilisce una baseline di verità). I risultati vengono restituiti in modo da poter esaminare le prestazioni del modello. Per la valutazione, la classificazione del testo personalizzata usa le metriche seguenti:

  • Precisione: misura la precisione o l'accuratezza del modello. È il rapporto tra i positivi identificati correttamente (veri positivi) e tutti i positivi identificati. La metrica Precision rivela quante delle classi stimate sono etichettate correttamente.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Richiamo: misura la capacità del modello di stimare le classi positive effettive. È il rapporto tra i veri positivi stimati e ciò che è stato effettivamente contrassegnato. La metrica di richiamo rivela il numero di classi stimate corrette.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • Punteggio F1: il punteggio F1 è una funzione di precisione e richiamo. È necessario quando si cerca un equilibrio tra precisione e richiamo.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Nota

La precisione, il richiamo e il punteggio F1 vengono calcolati separatamente per ogni classe (valutazione a livello di classe) e per il modello collettivamente (valutazione a livello di modello).

Metriche di valutazione a livello di modello e a livello di classe

Le definizioni di precisione, richiamo e valutazione sono le stesse per le valutazioni a livello di classe e a livello di modello. Tuttavia, il conteggio di True Positive, False Positive e False Negative differisce come illustrato nell'esempio seguente.

Le sezioni seguenti usano il set di dati di esempio seguente:

Documento Classi effettive Classi stimate
1 azione, commedia Commedia
2 action action
3 Romanticismo Romanticismo
4 romanticismo, commedia Romanticismo
5 Commedia action

Valutazione a livello di classe per la classe di azione

Key Conteggio Spiegazione
Veri positivi 1 Il documento 2 è stato classificato correttamente come azione.
Falsi positivi 1 Il documento 5 è stato erroneamente classificato come azione.
Falsi negativi 1 Il documento 1 non è stato classificato come Azione se deve avere.

Precisione = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Richiamo = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Valutazione a livello di classe per la classe commedia

Key Conteggio Spiegazione
Vero positivo 1 Il documento 1 è stato classificato correttamente come commedia.
Falso positivo 0 Nessun documento è stato erroneamente classificato come commedia.
Falso negativo 2 I documenti 5 e 4 non sono stati classificati come commedia anche se avrebbero dovuto avere.

Precisione = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Richiamo = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33

Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

Valutazione a livello di modello per il modello collettivo

Key Conteggio Spiegazione
Veri positivi 4 I documenti 1, 2, 3 e 4 sono stati assegnati classi corrette alla stima.
Falsi positivi 1 Al documento 5 è stata assegnata una classe errata in fase di stima.
Falsi negativi 2 I documenti 1 e 4 non sono stati assegnati a tutte le classi corrette in fase di stima.

Precisione = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8

Richiamo = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67

Punteggio F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

Nota

Per i modelli di classificazione con etichetta singola, il numero di falsi negativi e falsi positivi è sempre uguale. I modelli di classificazione con etichetta singola personalizzati prevedono sempre una classe per ogni documento. Se la stima non è corretta, il conteggio FP della classe stimata aumenta di uno e FN della classe effettiva aumenta di uno, il conteggio complessivo di FP e FN per il modello sarà sempre uguale. Questo non è il caso per la classificazione con più etichette, perché la mancata previsione di una delle classi di un documento viene conteggiata come falso negativo.

Interpretazione delle metriche di valutazione a livello di classe

Quindi cosa significa effettivamente avere una precisione elevata o un richiamo elevato per una determinata classe?

Richiamo Precision Interpretazione
Alto Alta Questa classe è perfettamente gestita dal modello.
Ridotto Elevato Il modello non è sempre in grado di stimare questa classe, ma quando lo fa è con elevata attendibilità. Ciò può essere dovuto al fatto che questa classe è sottorappresentato nel set di dati, pertanto è consigliabile bilanciare la distribuzione dei dati.
Alto Bassa Il modello stima bene questa classe, ma è con bassa confidenza. Ciò può essere dovuto al fatto che questa classe è sovrarappresentato nel set di dati, pertanto è consigliabile bilanciare la distribuzione dei dati.
Bassa Bassa Questa classe non è gestita correttamente dal modello in cui non viene in genere stimata e, quando è, non è con elevata attendibilità.

I modelli di classificazione del testo personalizzati devono riscontrare sia falsi negativi che falsi positivi. È necessario considerare il modo in cui ognuno influirà sul sistema complessivo e considerare attentamente gli scenari in cui il modello ignorerà le stime corrette e riconoscerà stime non corrette. A seconda dello scenario, la precisione o il richiamo potrebbero essere più adatti alla valutazione delle prestazioni del modello.

Ad esempio, se lo scenario prevede l'elaborazione di ticket di supporto tecnico, la stima della classe errata potrebbe causare l'inoltro al reparto o al team errato. In questo esempio è consigliabile rendere il sistema più sensibile ai falsi positivi e la precisione sarebbe una metrica più rilevante per la valutazione.

Come un altro esempio, se lo scenario prevede la categorizzazione della posta elettronica come "importante" o "spam", una stima errata potrebbe causare la mancata presenza di un messaggio di posta elettronica utile se è etichettato come "spam". Tuttavia, se un messaggio di posta indesiderata è etichettato importante , è possibile ignorarlo. In questo esempio è consigliabile rendere il sistema più sensibile ai falsi negativi e il richiamo sarà una metrica più rilevante per la valutazione.

Se si vuole ottimizzare per scenari per utilizzo generico o quando la precisione e il richiamo sono entrambi importanti, è possibile usare il punteggio F1. I punteggi di valutazione sono soggettivi a seconda dello scenario e dei criteri di accettazione. Non esiste alcuna metrica assoluta che funziona per ogni scenario.

Indicazioni

Dopo aver eseguito il training del modello, verranno visualizzate alcune indicazioni e consigli su come migliorare il modello. È consigliabile avere un modello che copre tutti i punti nella sezione delle linee guida.

  • Il set di training ha dati sufficienti: quando un tipo di classe ha meno di 15 istanze etichettate nei dati di training, può causare una minore accuratezza a causa del fatto che il modello non viene sottoposto a training adeguato in questi casi.

  • Tutti i tipi di classe sono presenti nel set di test: quando i dati di test non dispongono di istanze etichettate per un tipo di classe, le prestazioni dei test del modello possono diventare meno complete a causa di scenari non verificati.

  • I tipi di classe sono bilanciati all'interno di set di training e test: quando la distorsione di campionamento causa una rappresentazione imprecisa della frequenza di un tipo di classe, può causare una minore accuratezza a causa del modello che prevede che il tipo di classe si verifichi troppo spesso o troppo poco.

  • I tipi di classe vengono distribuiti uniformemente tra set di training e di test: quando la combinazione di tipi di classe non corrisponde tra set di training e set di test, può causare una minore accuratezza dei test a causa del training del modello sottoposto a training in modo diverso rispetto al modo in cui viene testato.

  • I tipi di classe nel set di training sono chiaramente distinti: quando i dati di training sono simili per più tipi di classe, può causare una minore accuratezza perché i tipi di classe possono essere spesso erroneamente classificati tra loro.

Matrice di confusione

Importante

La matrice di confusione non è disponibile per i progetti di classificazione con più etichette. Una matrice di confusione è una matrice N x N usata per la valutazione delle prestazioni del modello, dove N è il numero di classi. La matrice confronta le etichette previste con quelle stimate dal modello. Ciò offre una visione olistica delle prestazioni del modello e dei tipi di errori che sta facendo.

È possibile usare la matrice confusione per identificare le classi troppo vicine tra loro e spesso si sbagliano (ambiguità). In questo caso, prendere in considerazione l'unione di queste classi. Se non è possibile, prendere in considerazione l'assegnazione di etichette a più documenti con entrambe le classi per facilitare la differenziazione del modello.

Tutte le stime corrette si trovano nella diagonale della tabella, quindi è facile esaminare visivamente la tabella per individuare gli errori di stima, perché saranno rappresentati da valori esterni alla diagonale.

A screenshot of an example confusion matrix.

È possibile calcolare le metriche di valutazione a livello di classe e a livello di modello dalla matrice di confusione:

  • I valori in diagonale sono i valori True Positive di ogni classe.
  • La somma dei valori nelle righe della classe (esclusa la diagonale) è il falso positivo del modello.
  • La somma dei valori nelle colonne della classe (esclusa la diagonale) è il falso Negativo del modello.

Analogamente,

  • Il vero positivo del modello è la somma dei veri positivi per tutte le classi.
  • Il falso positivo del modello è la somma di falsi positivi per tutte le classi.
  • Il valore false Negativo del modello è la somma di falsi negativi per tutte le classi.

Passaggi successivi