Share via


Metrische evaluatiegegevens

Uw gegevensset is onderverdeeld in twee delen: een set voor training en een set voor testen. De trainingsset wordt gebruikt om het model te trainen, terwijl de testset wordt gebruikt als test voor het model na de training om de prestaties en evaluatie van het model te berekenen. De testset wordt niet via het trainingsproces geïntroduceerd in het model om ervoor te zorgen dat het model wordt getest op nieuwe gegevens.

Modelevaluatie wordt automatisch geactiveerd nadat de training is voltooid. Het evaluatieproces begint met het getrainde model om door de gebruiker gedefinieerde klassen voor documenten in de testset te voorspellen en vergelijkt deze met de opgegeven gegevenstags (waarmee een basislijn van waarheid wordt vastgesteld). De resultaten worden geretourneerd, zodat u de prestaties van het model kunt bekijken. Voor evaluatie gebruikt aangepaste tekstclassificatie de volgende metrische gegevens:

  • Precisie: meet hoe nauwkeurig/nauwkeurig uw model is. Dit is de verhouding tussen de correct geïdentificeerde positieven (terecht-positieven) en alle geïdentificeerde positieven. De precisiemetrie geeft aan hoeveel van de voorspelde klassen correct zijn gelabeld.

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

  • Relevante overeenkomsten: meet het vermogen van het model om werkelijke positieve klassen te voorspellen. Het is de verhouding tussen de voorspelde terecht-positieven en wat daadwerkelijk is getagd. De relevante metrische gegevens geven aan hoeveel van de voorspelde klassen juist zijn.

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

  • F1-score: De F1-score is een functie van Precisie en Relevante overeenkomsten. Dit is nodig wanneer u een balans zoekt tussen Precisie en Relevante overeenkomsten.

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

Notitie

Precisie, relevante overeenkomsten en F1-score worden voor elke klasse afzonderlijk berekend (evaluatie op klasseniveau ) en voor het model gezamenlijk (evaluatie op modelniveau ).

Metrische gegevens voor evaluatie op modelniveau en klasseniveau

De definities van precisie, relevante overeenkomsten en evaluatie zijn hetzelfde voor evaluaties op klasseniveau en modelniveau. Het aantal terecht-positieve, fout-positieve en fout-negatieven verschilt echter, zoals wordt weergegeven in het volgende voorbeeld.

In de onderstaande secties wordt de volgende voorbeeldgegevensset gebruikt:

Document Werkelijke klassen Voorspelde klassen
1 actie, komedie Comedy
2 action action
3 Romantiek Romantiek
4 romantiek, komedie Romantiek
5 Comedy action

Evaluatie op klasseniveau voor de actieklasse

Key Tellen Uitleg
Terecht positief 1 Document 2 is correct geclassificeerd als actie.
Fout-positief 1 Document 5 is per ongeluk geclassificeerd als actie.
Fout-negatief 1 Document 1 is niet geclassificeerd als actie , hoewel het moet hebben.

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

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

F1-score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Evaluatie op klasseniveau voor de komedieklasse

Key Tellen Uitleg
Terecht-positief 1 Document 1 is correct geclassificeerd als komedie.
Fout-positief 0 Er zijn geen documenten per ongeluk geclassificeerd als komedie.
Fout-negatief 2 Documenten 5 en 4 werden niet geclassificeerd als komedie , maar ze hadden moeten hebben.

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

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

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

Evaluatie op modelniveau voor het collectieve model

Key Tellen Uitleg
Terecht positief 4 Documenten 1, 2, 3 en 4 kregen de juiste klassen bij voorspelling.
Fout-positief 1 Document 5 kreeg een verkeerde klasse bij voorspelling.
Fout-negatief 2 Documenten 1 en 4 kregen niet alle juiste klasse bij voorspelling.

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

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

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

Notitie

Voor classificatiemodellen met één label zijn het aantal fout-negatieven en fout-positieven altijd gelijk. Aangepaste classificatiemodellen met één label voorspellen altijd één klasse voor elk document. Als de voorspelling niet juist is, neemt het aantal FP's van de voorspelde klasse met één toe en neemt FN van de werkelijke klasse met één toe, dan is het totale aantal FP en FN voor het model altijd gelijk. Dit is niet het geval voor classificatie met meerdere labels, omdat een van de klassen van een document niet wordt geteld als een fout-negatief.

Metrische gegevens voor evaluatie op klasseniveau interpreteren

Wat betekent het eigenlijk om een hoge precisie of een hoge relevante overeenkomsten voor een bepaalde klasse te hebben?

Intrekken Precisie Interpretatie
Hoog Hoog Deze klasse wordt perfect verwerkt door het model.
Laag Hoog Het model kan deze klasse niet altijd voorspellen, maar wanneer dit met hoge betrouwbaarheid gebeurt. Dit kan komen doordat deze klasse ondervertegenwoordigd is in de gegevensset, dus overweeg om de verdeling van uw gegevens te verdelen.
Hoog Laag Het model voorspelt deze klasse goed, maar het is met een lage betrouwbaarheid. Dit kan komen doordat deze klasse wordt vertegenwoordigd in de gegevensset, dus overweeg om de verdeling van uw gegevens te verdelen.
Laag Laag Deze klasse wordt slecht verwerkt door het model waar het meestal niet wordt voorspeld en wanneer dit het is, is deze niet met hoge betrouwbaarheid.

Aangepaste modellen voor tekstclassificatie zullen naar verwachting zowel fout-negatieven als fout-positieven ervaren. U moet overwegen hoe elk van invloed is op het algehele systeem en zorgvuldig nadenkt over scenario's waarbij het model de juiste voorspellingen negeert en onjuiste voorspellingen herkent. Afhankelijk van uw scenario kan precisie of relevante overeenkomsten geschikter zijn om de prestaties van uw model te evalueren.

Als uw scenario bijvoorbeeld betrekking heeft op het verwerken van tickets voor technische ondersteuning, kan het voorspellen van de verkeerde klasse ertoe leiden dat deze wordt doorgestuurd naar de verkeerde afdeling/het verkeerde team. In dit voorbeeld moet u overwegen om uw systeem gevoeliger te maken voor fout-positieven, en precisie zou een relevanter metrisch gegeven zijn voor evaluatie.

Als uw scenario bijvoorbeeld betrekking heeft op het categoriseren van e-mail als 'belangrijk' of 'spam', kan een onjuiste voorspelling ertoe leiden dat u een nuttige e-mail mist als deze 'spam' wordt gelabeld. Als een spam-e-mailbericht echter belangrijk is, kunt u dit negeren. In dit voorbeeld moet u overwegen om uw systeem gevoeliger te maken voor fout-negatieven en relevantere metrische gegevens voor evaluatie.

Als u wilt optimaliseren voor scenario's voor algemeen gebruik of wanneer precisie en relevante overeenkomsten beide belangrijk zijn, kunt u de F1-score gebruiken. Evaluatiescores zijn subjectief, afhankelijk van uw scenario en acceptatiecriteria. Er is geen absolute metriek die voor elk scenario werkt.

Hulp

Nadat u uw model hebt getraind, ziet u enkele richtlijnen en aanbevelingen over het verbeteren van het model. Het is raadzaam om een model te hebben dat alle punten in de sectie Richtlijnen beslaat.

  • Trainingsset heeft voldoende gegevens: wanneer een klassetype minder dan 15 gelabelde exemplaren in de trainingsgegevens heeft, kan dit leiden tot lagere nauwkeurigheid omdat het model niet voldoende wordt getraind in deze gevallen.

  • Alle klassetypen zijn aanwezig in de testset: wanneer de testgegevens geen gelabelde exemplaren voor een klassetype bevatten, kunnen de testprestaties van het model minder uitgebreid worden vanwege niet-geteste scenario's.

  • Klassetypen worden verdeeld in trainings- en testsets: wanneer steekproeven een onjuiste weergave van de frequentie van een klassetype veroorzaken, kan dit leiden tot lagere nauwkeurigheid omdat het model verwacht dat het klassetype te vaak of te weinig voorkomt.

  • Klassetypen worden gelijkmatig verdeeld tussen trainings- en testsets: wanneer de combinatie van klassetypen niet overeenkomt tussen trainings- en testsets, kan dit leiden tot lagere testnauwkeurigheid omdat het model anders wordt getraind dan de manier waarop het wordt getest.

  • Klassentypen in de trainingsset zijn duidelijk verschillend: wanneer de trainingsgegevens vergelijkbaar zijn voor meerdere klassetypen, kan dit leiden tot lagere nauwkeurigheid omdat de klassetypen vaak verkeerd worden geclassificeerd als elkaar.

Verwarringsmatrix

Belangrijk

Verwarringsmatrix is niet beschikbaar voor classificatieprojecten met meerdere labels. Een verwarringsmatrix is een N x N-matrix die wordt gebruikt voor de evaluatie van modelprestaties, waarbij N het aantal klassen is. De matrix vergelijkt de verwachte labels met de labels die door het model zijn voorspeld. Dit geeft een holistische weergave van hoe goed het model presteert en welke soorten fouten het maakt.

U kunt de verwarringsmatrix gebruiken om klassen te identificeren die zich te dicht bij elkaar bevinden en vaak verkeerd worden weergegeven (dubbelzinnigheid). In dit geval kunt u overwegen deze klassen samen te voegen. Als dat niet mogelijk is, kunt u overwegen om meer documenten met beide klassen te labelen om het model te helpen onderscheid te maken tussen deze klassen.

Alle juiste voorspellingen bevinden zich in de diagonaal van de tabel, dus het is eenvoudig om de tabel visueel te inspecteren op voorspellingsfouten, omdat deze worden weergegeven door waarden buiten de diagonaal.

A screenshot of an example confusion matrix.

U kunt de metrische gegevens voor evaluatie op klasse- en modelniveau berekenen vanuit de verwarringsmatrix:

  • De waarden in de diagonale waarde zijn de terecht-positieve waarden van elke klasse.
  • De som van de waarden in de klasserijen (met uitzondering van de diagonale) is het fout-positieve van het model.
  • De som van de waarden in de klassekolommen (met uitzondering van de diagonale) is de fout-negatieve waarde van het model.

Dit is vergelijkbaar met het volgende.

  • Het terecht-positieve van het model is de som van terecht-positieven voor alle klassen.
  • Het fout-positieve van het model is de som van fout-positieven voor alle klassen.
  • De fout-negatief van het model is de som van fout-negatieven voor alle klassen.

Volgende stappen