Dela via


Utvärderingsmått

Datamängden är uppdelad i två delar: en uppsättning för träning och en uppsättning för testning. Träningsuppsättningen används för att träna modellen, medan testuppsättningen används som ett test för modell efter träning för att beräkna modellens prestanda och utvärdering. Testuppsättningen introduceras inte i modellen genom träningsprocessen för att se till att modellen testas på nya data.

Modellutvärdering utlöses automatiskt när träningen har slutförts. Utvärderingsprocessen börjar med att använda den tränade modellen för att förutsäga användardefinierade klasser för dokument i testuppsättningen och jämför dem med de angivna datataggar (som upprättar en baslinje för sanning). Resultaten returneras så att du kan granska modellens prestanda. För utvärdering använder anpassad textklassificering följande mått:

  • Precision: Mäter hur exakt/exakt din modell är. Det är förhållandet mellan de korrekt identifierade positiva identifieringarna (sanna positiva identifieringar) och alla identifierade positiva identifieringar. Precisionsmåttet visar hur många av de förutsagda klasserna som är korrekt märkta.

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

  • Kom ihåg: Mäter modellens förmåga att förutsäga faktiska positiva klasser. Det är förhållandet mellan de förutsagda sanna positiva och vad som faktiskt taggades. Återkallningsmåttet visar hur många av de förutsagda klasserna som är korrekta.

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

  • F1-poäng: F1-poängen är en funktion av Precision och Recall. Det behövs när du söker en balans mellan Precision och Recall.

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

Kommentar

Precisions-, träffsäkerhets- och F1-poäng beräknas för varje klass separat (utvärdering på klassnivå ) och för modellen tillsammans (utvärdering på modellnivå ).

Utvärderingsmått på modellnivå och klassnivå

Definitionerna av precision, återkallande och utvärdering är desamma för utvärderingar på både klassnivå och modellnivå. Antalet sant positiva, falska positiva och falska negativa skiljer sig dock enligt följande exempel.

I avsnitten nedan används följande exempeldatauppsättning:

Dokument Faktiska klasser Förutsagda klasser
1 action, komedi Komedi
2 åtgärd åtgärd
3 Romantik Romantik
4 romantik, komedi Romantik
5 Komedi åtgärd

Utvärdering på klassnivå för åtgärdsklassen

Key Antal Förklaring
Sann positiv händelse 1 Dokument 2 klassificerades korrekt som åtgärd.
Falsk positiv 1 Dokument 5 klassificerades felaktigt som åtgärd.
Falsk negativ händelse 1 Dokument 1 klassificerades inte som Åtgärd , även om det borde ha gjort det.

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

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

F1-poäng = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Utvärdering på klassnivå för komediklassen

Key Antal Förklaring
Sann positiv 1 Dokument 1 klassificerades korrekt som komedi.
Falsk positiv identifiering 0 Inga dokument klassificerades av misstag som komedi.
Falsk negativ 2 Dokument 5 och 4 klassificerades inte som komedi även om de borde ha gjort det.

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

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

F1-poäng = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

Utvärdering på modellnivå för den kollektiva modellen

Key Antal Förklaring
Sann positiv händelse 4 Dokument 1, 2, 3 och 4 fick rätt klasser vid förutsägelse.
Falsk positiv 1 Dokument 5 fick fel klass vid förutsägelse.
Falsk negativ händelse 2 Dokument 1 och 4 fick inte all rätt klass vid förutsägelse.

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

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

F1-poäng = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

Kommentar

För klassificeringsmodeller med en etikett är antalet falska negativa och falska positiva alltid lika. Anpassade klassificeringsmodeller med en etikett förutsäger alltid en klass för varje dokument. Om förutsägelsen inte är korrekt ökar FP-antalet för den förväntade klassen med en och FN för den faktiska klassen ökar med en, det totala antalet FP och FN för modellen är alltid lika. Detta är inte fallet för klassificering med flera etiketter, eftersom det inte går att förutsäga en av klasserna i ett dokument räknas som ett falskt negativt.

Tolka utvärderingsmått på klassnivå

Så vad innebär det egentligen att ha hög precision eller hög träffsäkerhet för en viss klass?

Återkalla Precision Tolkning
Högst Högst Den här klassen hanteras perfekt av modellen.
Låg Hög Modellen kan inte alltid förutsäga den här klassen, men när den gör det är den med hög konfidens. Det kan bero på att den här klassen är underrepresenterad i datamängden, så överväg att balansera din datadistribution.
Högst Lägst Modellen förutsäger den här klassbrunnen, men den är med låg konfidens. Det kan bero på att den här klassen är överrepresenterad i datamängden, så överväg att balansera din datadistribution.
Lägst Lägst Den här klassen hanteras dåligt av modellen där den vanligtvis inte förutsägs och när den är det är den inte med hög konfidens.

Anpassade textklassificeringsmodeller förväntas uppleva både falska negativa och falska positiva identifieringar. Du måste tänka på hur var och en påverkar det övergripande systemet och noggrant tänka igenom scenarier där modellen ignorerar korrekta förutsägelser och identifierar felaktiga förutsägelser. Beroende på ditt scenario kan antingen precision eller återkallande vara lämpligare att utvärdera modellens prestanda.

Om ditt scenario till exempel omfattar bearbetning av tekniska supportärenden kan det leda till att fel klass vidarebefordras till fel avdelning/team. I det här exemplet bör du överväga att göra systemet mer känsligt för falska positiva identifieringar, och precision skulle vara ett mer relevant mått för utvärdering.

Om ditt scenario till exempel omfattar kategorisering av e-post som "viktigt" eller "skräppost" kan en felaktig förutsägelse leda till att du missar ett användbart e-postmeddelande om det är märkt "spam". Men om ett skräppostmeddelande är märkt viktigt kan du bortse från det. I det här exemplet bör du överväga att göra systemet mer känsligt för falska negativa identifieringar, och återkalla skulle vara ett mer relevant mått för utvärdering.

Om du vill optimera för allmänna scenarier eller när precision och träffsäkerhet är viktiga kan du använda F1-poängen. Utvärderingspoängen är subjektiva beroende på ditt scenario och acceptanskriterier. Det finns inget absolut mått som fungerar för varje scenario.

Vägledning

När du har tränat din modell får du viss vägledning och rekommendation om hur du kan förbättra modellen. Vi rekommenderar att du har en modell som täcker alla punkter i vägledningsavsnittet.

  • Träningsuppsättningen har tillräckligt med data: När en klasstyp har färre än 15 märkta instanser i träningsdata kan det leda till lägre noggrannhet på grund av att modellen inte tränas tillräckligt i dessa fall.

  • Alla klasstyper finns i testuppsättningen: När testdata saknar märkta instanser för en klasstyp kan modellens testprestanda bli mindre omfattande på grund av otestade scenarier.

  • Klasstyper balanseras i tränings- och testuppsättningar: När samplingsfördomar orsakar en felaktig representation av en klasstyps frekvens kan det leda till lägre noggrannhet på grund av att modellen förväntar sig att klasstypen ska inträffa för ofta eller för lite.

  • Klasstyper fördelas jämnt mellan tränings- och testuppsättningar: När blandningen av klasstyper inte matchar mellan tränings- och testuppsättningar kan det leda till lägre testnoggrannhet på grund av att modellen tränas annorlunda än hur den testas.

  • Klasstyper i träningsuppsättningen är tydligt distinkta: När träningsdata liknar varandra för flera klasstyper kan det leda till lägre noggrannhet eftersom klasstyperna ofta felklassificeras som varandra.

Förvirringsmatris

Viktigt!

Förvirringsmatrisen är inte tillgänglig för klassificeringsprojekt med flera etiketter. En förvirringsmatris är en N x N-matris som används för utvärdering av modellprestanda, där N är antalet klasser. Matrisen jämför de förväntade etiketterna med de som förutsägs av modellen. Detta ger en holistisk vy över hur bra modellen presterar och vilka typer av fel den gör.

Du kan använda matrisen Förvirring för att identifiera klasser som är för nära varandra och ofta misstas (tvetydighet). I det här fallet bör du överväga att slå samman dessa klasser. Om det inte är möjligt kan du överväga att märka fler dokument med båda klasserna för att hjälpa modellen att skilja mellan dem.

Alla korrekta förutsägelser finns i diagonalen i tabellen, så det är enkelt att visuellt inspektera tabellen efter förutsägelsefel, eftersom de representeras av värden utanför diagonalen.

A screenshot of an example confusion matrix.

Du kan beräkna utvärderingsmåtten på klassnivå och modellnivå från förvirringsmatrisen:

  • Värdena i diagonalen är true positive-värdena för varje klass.
  • Summan av värdena i klassraderna (exklusive diagonalen) är modellens falska positiva resultat .
  • Summan av värdena i klasskolumnerna (exklusive diagonalen) är modellens falska negativa .

På samma sätt

  • Modellens verkliga positiva resultat är summan av sanna positiva identifieringar för alla klasser.
  • Modellens falska positiva resultat är summan av falska positiva identifieringar för alla klasser.
  • Modellens falska negativa är summan av falska negativa för alla klasser.

Nästa steg