Teilen über


Auswertungsmetriken

Ihr Dataset ist aufgeteilt, nämlich in zwei Sätze, einen Satz für das Training und einen Satz für das Testen. Der Trainingsdatensatz wird zum Trainieren des Modells verwendet, während der Testdatensatz als Test für das Modell nach dem Training genutzt wird, um die Modellleistung zu berechnen und auszuwerten. Der Testdatensatz wird dem Modell beim Training nicht zugeführt, um sicherzustellen, dass das Modell mit neuen Daten getestet wird.

Die Modellauswertung wird automatisch ausgelöst, nachdem das Training erfolgreich abgeschlossen wurde. Der Auswertungsprozess beginnt damit, dass das trainierte Modell zum Vorhersagen benutzerdefinierter Klassen für Dokumente im Testdatensatz und für deren Vergleich mit den bereitgestellten Datentags verwendet wird (wodurch eine Wahrheitsbaseline gebildet wird). Die Ergebnisse werden zurückgegeben, sodass Sie die Leistung des Modells überprüfen können. Zur Auswertung verwendet die benutzerdefinierte Textklassifizierung die folgenden Metriken:

  • Genauigkeit: Misst, wie präzise/genau Ihr Modell ist. Dies ist das Verhältnis zwischen den richtig identifizierten positiven (True Positives) und allen identifizierten positiven Ergebnissen. Die Genauigkeitsmetrik gibt an, wie viele der vorhergesagten Klassen richtig beschriftet wurden.

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

  • Abruf: Misst die Fähigkeit des Modells, tatsächliche positive Klassen vorherzusagen. Dies ist das Verhältnis zwischen den vorhergesagten True Positives und den tatsächlich markierten Klassen. Die Abrufmetrik gibt an, wie viele der vorhergesagten Klassen richtig sind.

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

  • F1-Bewertung: Die F1-Bewertung ist eine Funktion von Genauigkeit und Abruf. Sie ist erforderlich, wenn Sie ein Gleichgewicht zwischen Genauigkeit und Abruf suchen.

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

Hinweis

Genauigkeit, Abruf und F1-Bewertung werden für jede Klasse separat (Auswertung auf Klassenebene) und für das Modell im Ganzen (Auswertung auf Modellebene) berechnet.

Auswertungsmetriken auf Modell- und Klassenebene

Die Definitionen von Genauigkeit, Abruf und Auswertung sind für Auswertungen auf Klassen- und Modellebene gleich. Die Anzahl von True Positives, False Positives und False Negatives weicht jedoch ab, wie im folgenden Beispiel gezeigt.

In den Abschnitten unten wird das folgende Beispieldataset verwendet:

Dokument Tatsächliche Klassen Vorhergesagte Klassen
1 Action, Comedy Comedy
2 action action
3 Romanze Romanze
4 Romanze, Comedy Romanze
5 Comedy action

Auswertung auf Klassenebene für die Klasse Action

Schlüssel Anzahl Erklärung
Richtig positiv 1 Dokument 2 wurde richtig als Action klassifiziert.
Falsch positiv 1 Dokument 5 wurde fälschlich als Action klassifiziert.
Falsch negativ 1 Dokument 1 wurde nicht als Action klassifiziert, hätte aber so klassifiziert werden sollen.

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

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

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

Auswertung auf Klassenebene für die Klasse Comedy

Schlüssel Anzahl Erklärung
Richtig positiv 1 Dokument 1 wurde richtig als Comedy klassifiziert.
Falsch positiv 0 Es wurden keine Dokumente fälschlicherweise als Comedy klassifiziert.
Falsch negativ 2 Die Dokumente 5 und 4 wurden nicht als Comedy klassifiziert, hätten aber so eingestuft werden sollen.

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

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

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

Auswertung auf Modellebene für das gemeinsame Modell

Schlüssel Anzahl Erklärung
Richtig positiv 4 Den Dokumenten 1, 2, 3 und 4 wurden bei der Vorhersage die richtigen Klassen zugewiesen.
Falsch positiv 1 Dokument 5 wurde bei der Vorhersage eine falsche Klasse zugewiesen.
Falsch negativ 2 Die Dokumente 1 und 4 wurden bei der Vorhersage nicht allen richtigen Klassen zugewiesen.

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

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

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

Hinweis

Bei Klassifizierungsmodellen mit nur einer Bezeichnung ist die Anzahl falsch negativer und falsch positiver Ergebnisse immer gleich. Benutzerdefinierte Klassifizierungsmodelle mit nur einer Bezeichnung prognostizieren immer eine Klasse für jedes Dokument. Wenn die Vorhersage nicht richtig ist, erhöht sich die FP-Anzahl der vorhergesagten Klasse um eins und die FN-Anzahl der realen Klasse ebenfalls um eins, sodass die Summe von FP und die Summe von FN für das Modell immer gleich ist. Dies ist bei der Klassifizierung mit mehreren Bezeichnungen nicht der Fall, da die verfehlte Vorhersage einer der Klassen eines Dokuments als falsch negativ gezählt wird.

Interpretieren von Auswertungsmetriken auf Klassenebene

Was bedeutet also eine hohe Genauigkeit oder ein hoher Abruf für eine bestimmte Klasse?

Recall Precision Interpretation
High High Diese Klasse wird vom Modell perfekt verarbeitet.
Niedrig High Das Modell kann diese Klasse nicht immer vorhersagen, aber wenn es dies tut, dann mit hoher Konfidenz. Dies kann daran liegt, dass diese Klasse im Dataset unterrepräsentiert ist. Erwägen Sie daher einen Ausgleich ihrer Datenverteilung.
High Niedrig Das Modell sagt diese Klasse gut vorher, jedoch mit geringer Konfidenz. Dies kann daran liegt, dass diese Klasse im Dataset überrepräsentiert ist. Erwägen Sie daher einen Ausgleich ihrer Datenverteilung.
Niedrig Niedrig Diese Klasse wird vom Modell schlecht verarbeitet, das sie normalerweise nicht vorhersagt, und wenn dies doch geschieht, dann mit geringer Konfidenz.

Bei Modellen für die benutzerdefinierte Textklassifizierung ist damit zu rechnen, dass sowohl False Negative- als auch False Positive-Ergebnisse auftreten. Sie müssen die Auswirkungen von beiden auf das Gesamtsystem berücksichtigen und Szenarien, in denen das Modell richtige Vorhersagen ignoriert und falsche Vorhersagen als richtig erkennt, sorgfältig durchdenken. Je nach Szenario kann entweder die Genauigkeit oder der Abruf besser geeignet sein, um die Leistung Ihres Modells zu bewerten.

Wenn Ihr Szenario beispielsweise die Verarbeitung von Tickets für den technischen Support beinhaltet, kann die Vorhersage der falschen Klasse dazu führen, dass sie an die falsche Abteilung/das falsche Team weitergeleitet werden. In diesem Beispiel sollten Sie erwägen, ihr System empfindlicher gegenüber falsch positiven Werten zu machen, dann wäre die Genauigkeit die relevantere Metrik für die Auswertung.

Wenn in einem anderen Beispiel Ihr Szenario das Kategorisieren von E-Mails als „wichtig“ oder „spam“ umfasst, könnte eine falsche Vorhersage dazu führen, dass Ihnen eine nützliche E-Mail entgeht, wenn sie als „spam“ gekennzeichnet wird. Wenn eine Spam-E-Mail jedoch als wichtig beschriftet wird, können Sie sie ignorieren. In diesem Beispiel sollten Sie erwägen, ihr System empfindlicher gegenüber falsch negativen Werten zu machen, dann wäre der Abruf die relevantere Metrik für die Auswertung.

Wenn Sie für allgemeine Szenarien optimieren möchten oder wenn Genauigkeit und Abruf beide wichtig sind, können Sie die F1-Bewertung verwenden. Auswertungsscores sind subjektiv und hängen von Ihrem Szenario und Ihren Akzeptanzkriterien ab. Es gibt keine absolute Metrik, die für jedes Szenario funktioniert.

Leitfaden

Nachdem Sie Ihr Modell trainiert haben, werden Ihnen einige Anleitungen und Empfehlungen zur Verbesserung des Modells angezeigt. Es wird ein Modell empfohlen, das alle Punkte im Leitfadenabschnitt abdeckt.

  • Trainingssatz umfasst genügend Daten: Wenn ein Klassentyp weniger als 15 beschriftete Instanzen in den Trainingsdaten aufweist, kann dies zu einer geringeren Genauigkeit führen, da das Modell in diesen Fällen nicht angemessen trainiert wird.

  • Alle Klassentypen sind im Testsatz enthalten: Wenn für die Testdaten beschriftete Instanzen für einen Klassentyp fehlen, ist die Testleistung des Modells aufgrund von nicht getesteten Szenarien möglicherweise weniger umfassend.

  • Klassentypen sind innerhalb von Trainings- und Testsätzen ausgeglichen: Wenn die Häufigkeit eines Klassentyps durch ein Ungleichgewicht bei der Stichprobenentnahme falsch dargestellt wird, kann dies zu einer geringeren Genauigkeit führen, weil das Modell diesen Klassentyp zu häufig oder zu selten erwartet.

  • Klassentypen sind zwischen Trainings- und Testsätzen gleichmäßig verteilt: Wenn die Mischung aus Klassentypen zwischen Trainings- und Testsätzen nicht überstimmt, kann es zu einer niedrigeren Testgenauigkeit führen, da das Modell anders trainiert als getestet wird.

  • Klassentypen im Trainingssatz unterscheiden sich deutlich: Wenn die Trainingsdaten für mehrere Klassentypen ähnlich sind, kann dies zu geringerer Genauigkeit führen, da die Klassentypen häufig als andere Klassentypen fehlklassifiziert werden können.

Konfusionsmatrix

Wichtig

Die Konfusionsmatrix ist für Klassifizierungsprojekte mit mehreren Bezeichnungen nicht verfügbar. Eine Konfusionsmatrix ist eine n x n-Matrix, die für die Auswertung der Modellleistung verwendet wird, wobei „n“ die Anzahl der Klassen ist. Die Matrix vergleicht die erwarteten Bezeichnungen mit den vom Modell vorhergesagten Bezeichnungen. Dadurch erhalten Sie einen ganzheitlichen Überblick darüber, wie gut das Modell funktioniert und welche Arten von Fehlern es macht.

Sie können die Konfusionsmatrix verwenden, um Klassen zu identifizieren, die zu nah beieinander liegen und häufig verwechselt werden (Mehrdeutigkeit). Erwägen Sie in diesem Fall, die betreffenden Klassen zusammenzuführen. Wenn dies nicht möglich ist, sollten Sie erwägen, weitere Beispiele mit Tags für beide Entitäten hinzuzufügen. So können Sie es dem Modell erleichtern, zwischen diesen zu unterscheiden.

Alle richtigen Vorhersagen befinden sich in der Diagonale der Tabelle, so dass es einfach ist, die Tabelle für Vorhersagefehler visuell auf Vorhersagefehler zu überprüfen, da diese durch Werte außerhalb der Diagonale dargestellt werden.

Screenshot: Beispiel für eine Konfusionsmatrix

Anhand der Konfusionsmatrix können Sie die Auswertungsmetriken auf Klassen- und Modellebene berechnen:

  • Die Werte auf der Diagonalen sind die True Positive-Werte der einzelnen Klassen.
  • Die Summe der Werte in den Klassenzeilen (ausschließlich der Diagonalen) sind die False Positive-Werte des Modells.
  • Die Summe der Werte in den Klassenspalten (ausschließlich der Diagonalen) sind die False Negative-Werte des Modells.

Ebenso gilt:

  • Der True Positive-Wert des Modells ist die Summe der True Positive-Werte für alle Klassen.
  • Der False Positive-Wert des Modells ist die Summe der False Positive-Werte für alle Klassen.
  • Der False Negative-Wert des Modells ist die Summe der False Negative-Werte für alle Klassen.

Nächste Schritte