Bewertungsmetriken für die Textklassifikation

Deep Learning für Text mit PyTorch

Shubham Jain

Instructor

Warum Bewertungsmetriken wichtig sind

"Im Fokus: Buchrezensionen:

  • Stellen Sie sich ein Modell vor, das die Stimmung von Buchrezensionen bewertet
  • Das Modell behauptet, dass ein Bestsellerroman schlecht bewertet wird. Akzeptieren wir das?
  • Verwenden Sie Evaluationsmetriken

Buchrezension{{1}}"

Deep Learning für Text mit PyTorch

Bewertung von RNN-Modellen

"`python

Initialize model, criterion, and optimizer

rnn_model = RNNModel(input_size, hidden_size, num_layers, num_classes) ...

Model training

for epoch in range(10): outputs = rnn_model(X_train) ... print(f'Epoch: {epoch+1}, Loss: {loss.item()}') `

----CODE_GLUE---- `python

outputs = rnn_model(X_test) _, predicted = torch.max(outputs, 1) `{{1}}"

Deep Learning für Text mit PyTorch

Genauigkeit

"- Das Verhältnis der korrekten Vorhersagen zur Gesamtzahl der Vorhersagen

from torchmetrics import Accuracy

actual = torch.tensor([0, 1, 1, 0, 1, 0]) predicted = torch.tensor([0, 0, 1, 0, 1, 1])
accuracy = Accuracy(task=\"binary\", num_classes=2)
acc = accuracy(predicted, actual) print(f\"Accuracy: {acc}\")

out Genauigkeit: 0.6666666666666666{{5}}"

Deep Learning für Text mit PyTorch

Über die Genauigkeit hinaus

"- 10.000 Bewertungen: 9.800 sind positiv – Ein Modell, das immer positiv vorhersagt: 98 % Genauigkeit

  • Das Modell konnte negative Bewertungen nicht klassifizieren
  • Präzision: Zuverlässigkeit bei der Kennzeichnung einer Bewertung als negativ
  • Recall: Wie gut das Modell negative Bewertungen erkennt
  • F1-Score: Ausgewogenheit zwischen Präzision und Recall {{5}}"
Deep Learning für Text mit PyTorch

Präzision und Recall

"- Präzision: korrekt vorhergesagte positive Beobachtungen / insgesamt vorhergesagte Positive

  • Recall: korrekt vorhergesagte positive Beobachtungen / alle Beobachtungen in der positiven Klasse
from torchmetrics import Precision, Recall

precision = Precision(task=\"binary\", num_classes=2) recall = Recall(task=\"binary\", num_classes=2)
prec = precision(predicted, actual) rec = recall(predicted, actual)
print(f\"Präzision: {prec}\") print(f\"Recall: {rec}\")

out Präzision: 0.6666666666666666 Recall: 0.5{{4}}"

Deep Learning für Text mit PyTorch

Präzision und Recall

"out Präzision: 0.6666666666666666 Recall: 0,5

  • Präzision: 66,66 % korrekt als positiv vorhergesagt
  • Recall: 50 % der Positiven erfasst{{2}}"
Deep Learning für Text mit PyTorch

F1-Score

"- Harmonisiert Präzision und Recall

  • Bessere Messgröße für unausgeglichene Klassen
from torchmetrics import F1Score
f1 = F1Score(task=\"binary\", num_classes=2)
f1_score = f1(predicted, actual)
print(f\"F1 Score: {f1_score}\")
F1 Score: 0.5714285714285715
  • F1-Score von 1 = perfekte Präzision und Recall
  • F1-Score von 0 = schlechteste Leistung {{4}}"
Deep Learning für Text mit PyTorch

Überlegungen

"- Multiklassen-Kerne können identisch sein

  • Kann auf eine gute Modellleistung hinweisen
  • Berücksichtigen Sie bei der Interpretation der Ergebnisse immer das Problem!{{2}}"
Deep Learning für Text mit PyTorch

Nun kannst du wieder etwas üben!

Deep Learning für Text mit PyTorch

Preparing Video For Download...