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 verificare 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 (per stabilire una baseline di verità). I risultati vengono restituiti per consentire l’esame delle prestazioni del modello. Per la valutazione, la classificazione personalizzata del testo 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 della precisione e del 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 collettivamente per il modello (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 veri positivi, falsi positivie false negativi 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 azione
Chiave | Conteggio | Spiegazione |
---|---|---|
Veri positivi | 1 | Il documento 2 è stato correttamente classificato come azione. |
Falsi positivi | 1 | Il documento 5 è stato erroneamente classificato come azione. |
Falsi negativi | 1 | Il documento 1 non è stato classificato come azione anche se avrebbe dovuto esserlo. |
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
Chiave | Conteggio | Spiegazione |
---|---|---|
Vero positivo | 1 | Il documento 1 è stato correttamente classificato 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 esserlo. |
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
Chiave | Conteggio | Spiegazione |
---|---|---|
Veri positivi | 4 | I documenti 1, 2, 3 e 4 sono stati assegnati alle classi corrette in fase di 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 numero di FP della classe stimata aumenta di uno e quello di FN della classe effettiva aumenta di uno; il numero complessivo di FP e FN per il modello sarà sempre uguale. Ciò non si applica alla classificazione con più etichette, perché la mancata stima di una delle classi di un documento viene conteggiata come falso negativo.
Vedere 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 | Precisione | Interpretazione |
---|---|---|
Elevato | 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 è sottorappresentata nel set di dati; pertanto è consigliabile bilanciare la distribuzione dei dati. |
Alto | Basso | Il modello stima bene questa classe ma con una confidenza bassa. Ciò può essere dovuto al fatto che questa classe è sovrarappresentata nel set di dati; pertanto è consigliabile bilanciare la distribuzione dei dati. |
Basso | Basso | Questa classe non è gestita correttamente dal modello in cui non viene in genere stimata e, quando lo è, l’attendibilità non è elevata. |
I modelli di classificazione personalizzata del testo devono riscontrare sia falsi negativi che falsi positivi. È necessario considerare il modo in cui ognuno influirà sul sistema complessivo e riflettere attentamente sugli scenari in cui il modello ignorerà le stime corrette e riconoscerà le stime non corrette. A seconda dello scenario, è possibile che la precisione o il richiamo siano 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 causarne l'inoltro al reparto o al team errato. In questo esempio è consigliabile rendere il sistema più sensibile ai falsi positivi, quindi la precisione sarebbe una metrica più rilevante per la valutazione.
Come ulteriore esempio, se lo scenario prevede la categorizzazione della posta elettronica come "importante" o "spam", una stima errata potrebbe causare la mancata consegna di un messaggio di posta elettronica utile se è stato etichettato come "spam". Tuttavia, se un messaggio di posta indesiderata è stato etichettato come importante, è possibile ignorarlo. In questo esempio è consigliabile rendere il sistema più sensibile ai falsi negativi, quindi il richiamo sarà una metrica più rilevante per la valutazione.
Se si vuole ottimizzare per scenari generici o quando la precisione e il richiamo sono entrambi importanti, è possibile usare il punteggio F1. I punteggi di valutazione sono soggettivi e variano a seconda dello scenario e dei criteri di accettazione. Non esiste alcuna metrica assoluta adatta a ogni scenario.
Linee guida
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 dati ha meno di 15 istanze etichettate nei dati di training, l’accuratezza può essere minore 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 risultare meno complete a causa di scenari non verificati.
I tipi di classe sono bilanciati nei set di training e test: quando la distorsione di campionamento causa una rappresentazione imprecisa della frequenza di un tipo di classe, l’accuratezza può risultare minore a causa del fatto che il modello prevede che il tipo di classe si verifichi troppo spesso o troppo poco.
I tipi di classe vengono distribuiti uniformemente tra i set di training e di test: quando la combinazione di tipi di classe non corrisponde tra i set di training e di test, l’accuratezza dei test può essere minore a causa del fatto che il modello è stato 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,l’accuratezza può essere minore 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 di un 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 di confusione per identificare le classi troppo vicine tra loro che vengono spesso erroneamente classificate (ambiguità). In questo caso, prendere in considerazione l'unione di queste classi. Se non è possibile, valutare la possibilità di assegnare etichette di entrambe le classi a più documenti per facilitare la loro differenziazione nel modello.
Tutte le stime corrette si trovano lungo la diagonale della tabella, quindi è facile individuare visivamente gli errori di stima nella tabella perché saranno rappresentati da valori esterni alla diagonale.
È possibile usare la matrice di confusione per calcolare le metriche di valutazione a livello di classe e a livello di modello:
- I valori in diagonale sono i valori veri positivi 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 di tutte le classi.
- Il falso positivo del modello è la somma di falsi positivi di tutte le classi.
- Il falso negativo del modello è la somma di falsi negativi di tutte le classi.