Metryki oceny
Zestaw danych jest podzielony na dwie części: zestaw do trenowania i zestaw do testowania. Zestaw trenowania służy do trenowania modelu, podczas gdy zestaw testów jest używany jako test dla modelu po trenowaniu w celu obliczenia wydajności i oceny modelu. Zestaw testów nie jest wprowadzany do modelu przez proces trenowania, aby upewnić się, że model jest testowany na nowych danych.
Ocena modelu jest wyzwalana automatycznie po pomyślnym zakończeniu trenowania. Proces oceny rozpoczyna się od użycia wytrenowanego modelu do przewidywania klas zdefiniowanych przez użytkownika dla dokumentów w zestawie testowym i porównuje je z podanymi tagami danych (które ustanawia punkt odniesienia prawdy). Wyniki są zwracane, aby można było przejrzeć wydajność modelu. Do oceny niestandardowa klasyfikacja tekstu używa następujących metryk:
Precyzja: mierzy dokładność/dokładność modelu. Jest to stosunek poprawnie zidentyfikowanych wyników dodatnich (prawdziwie dodatnich) i wszystkich zidentyfikowanych wyników dodatnich. Metryka precyzji pokazuje, ile klas przewidywanych jest poprawnie oznaczonych etykietami.
Precision = #True_Positive / (#True_Positive + #False_Positive)
Przypomnienie: Mierzy zdolność modelu do przewidywania rzeczywistych klas dodatnich. Jest to stosunek przewidywanych wyników prawdziwie dodatnich do tego, co zostało rzeczywiście oznaczone. Metryka kompletności pokazuje, ile przewidywanych klas jest poprawnych.
Recall = #True_Positive / (#True_Positive + #False_Negatives)
Wynik F1: Wynik F1 jest funkcją precyzji i kompletności. Jest to konieczne, gdy szukasz równowagi między precyzją a kompletnością.
F1 Score = 2 * Precision * Recall / (Precision + Recall)
Uwaga
Precyzja, kompletność i wynik F1 są obliczane osobno dla każdej klasy (ocena na poziomie klasy) i dla modelu zbiorczo (ocena na poziomie modelu).
Metryki oceny na poziomie modelu i na poziomie klasy
Definicje precyzji, kompletności i oceny są takie same zarówno dla ocen na poziomie klasy, jak i na poziomie modelu. Jednak liczba wyników prawdziwie dodatnich, fałszywie dodatnich i fałszywie ujemnych różni się, jak pokazano w poniższym przykładzie.
W poniższych sekcjach użyto następującego przykładowego zestawu danych:
Dokument | Rzeczywiste klasy | Przewidywane klasy |
---|---|---|
1 | action, komedia | komedia |
2 | action | action |
3 | romans | romans |
100 | romans, komedia | romans |
5 | komedia | action |
Ocena na poziomie klasy dla klasy akcji
Klucz | Count | Wyjaśnienie |
---|---|---|
Wynik prawdziwie dodatni | 1 | Dokument 2 został poprawnie sklasyfikowany jako akcja. |
Wynik fałszywie dodatni | 1 | Dokument 5 został błędnie sklasyfikowany jako działanie. |
Wynik fałszywie ujemny | 1 | Dokument 1 nie został sklasyfikowany jako Akcja , choć powinien. |
Precyzja = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
Pamiętać = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
Wynik F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5
Ocena na poziomie klasy dla klasy komediowej
Klucz | Count | Wyjaśnienie |
---|---|---|
Wyniki prawdziwie dodatnie | 1 | Dokument 1 został poprawnie sklasyfikowany jako komedia. |
Wyniki fałszywie dodatnie | 0 | Żadne dokumenty nie zostały błędnie sklasyfikowane jako komedia. |
Wyniki fałszywie ujemne | 2 | Dokumenty 5 i 4 nie zostały sklasyfikowane jako komedia , choć powinny. |
Precyzja = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1
Pamiętać = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33
Wynik F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80
Ocena na poziomie modelu dla modelu zbiorowego
Klucz | Count | Wyjaśnienie |
---|---|---|
Wynik prawdziwie dodatni | 100 | Dokumenty 1, 2, 3 i 4 otrzymały poprawne klasy na etapie przewidywania. |
Wynik fałszywie dodatni | 1 | Dokument 5 otrzymał niewłaściwą klasę podczas przewidywania. |
Wynik fałszywie ujemny | 2 | Dokumenty 1 i 4 nie otrzymały poprawnej klasy podczas przewidywania. |
Precyzja = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8
Pamiętać = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67
Wynik F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73
Uwaga
W przypadku modeli klasyfikacji z jedną etykietą liczba wyników fałszywie ujemnych i wyników fałszywie dodatnich jest zawsze równa. Niestandardowe modele klasyfikacji z pojedynczą etykietą zawsze przewidują jedną klasę dla każdego dokumentu. Jeśli przewidywanie nie jest poprawne, liczba fp przewidywanej klasy zwiększa się o jedną, a FN rzeczywistej klasy zwiększa się o jedną, ogólna liczba FP i FN dla modelu będzie zawsze równa. Nie jest tak w przypadku klasyfikacji wieloeznakowej, ponieważ nie można przewidzieć jednej z klas dokumentu jest liczone jako fałszywie ujemna.
Interpretowanie metryk oceny na poziomie klasy
Więc co to znaczy mieć wysoką precyzję lub wysoką kompletność dla określonej klasy?
Odwołaj | Dokładność | Interpretacja |
---|---|---|
Wys. | Wys. | Ta klasa jest doskonale obsługiwana przez model. |
Niskie | Wysokie | Model nie zawsze może przewidzieć tę klasę, ale kiedy jest z dużą pewnością. Może to być spowodowane tym, że ta klasa jest niedostatecznie reprezentowana w zestawie danych, dlatego warto rozważyć równoważenie dystrybucji danych. |
Wys. | Niski | Model przewiduje tę klasę dobrze, jednak ma niską pewność siebie. Może to być spowodowane tym, że ta klasa jest nadmiernie reprezentowana w zestawie danych, dlatego rozważ równoważenie dystrybucji danych. |
Niski | Niski | Ta klasa jest słabo obsługiwana przez model, w którym zwykle nie jest przewidywana i kiedy jest, nie ma wysokiej pewności. |
Oczekuje się, że niestandardowe modele klasyfikacji tekstu będą doświadczać wyników fałszywie ujemnych i fałszywie dodatnich. Należy wziąć pod uwagę, jak każdy będzie wpływać na ogólny system, i dokładnie przemyśleć scenariusze, w których model zignoruje poprawne przewidywania i rozpozna nieprawidłowe przewidywania. W zależności od scenariusza precyzja lub kompletność mogą być bardziej odpowiednie do oceny wydajności modelu.
Jeśli na przykład scenariusz obejmuje przetwarzanie biletów pomocy technicznej, przewidywanie nieprawidłowej klasy może spowodować przekazanie go do niewłaściwego działu/zespołu. W tym przykładzie należy rozważyć, aby system był bardziej wrażliwy na wyniki fałszywie dodatnie, a precyzja byłaby bardziej odpowiednią metryką do oceny.
W innym przykładzie, jeśli twój scenariusz obejmuje kategoryzowanie wiadomości e-mail jako "ważne" lub "spam", niepoprawne przewidywanie może spowodować pominięcie przydatnej wiadomości e-mail, jeśli jest oznaczona etykietą "spam". Jeśli jednak wiadomość e-mail ze spamem jest oznaczona etykietą ważną , możesz ją zignorować. W tym przykładzie należy rozważyć, aby system był bardziej wrażliwy na fałszywe wartości ujemne, a kompletność byłaby bardziej odpowiednią metryką do oceny.
Jeśli chcesz zoptymalizować pod kątem scenariuszy ogólnego przeznaczenia lub gdy precyzja i kompletność są ważne, możesz użyć wyniku F1. Oceny oceny są subiektywne w zależności od scenariusza i kryteriów akceptacji. Nie ma bezwzględnej metryki, która działa w każdym scenariuszu.
Wskazówki
Po wytrenowanym modelu zobaczysz wskazówki i zalecenia dotyczące ulepszania modelu. Zaleca się, aby model obejmował wszystkie punkty w sekcji wskazówek.
Zestaw trenowania ma wystarczającą ilość danych: jeśli typ klasy ma mniej niż 15 wystąpień oznaczonych etykietą w danych treningowych, może to prowadzić do obniżenia dokładności ze względu na brak odpowiedniego wytrenowania modelu w tych przypadkach.
Wszystkie typy klas są obecne w zestawie testów: jeśli dane testowe nie mają oznaczonych etykietami wystąpień dla typu klasy, wydajność testu modelu może stać się mniej kompleksowa ze względu na nietestowane scenariusze.
Typy klas są zrównoważone w zestawach treningowych i testowych: gdy próbkowanie powoduje niedokładną reprezentację częstotliwości typu klasy, może to prowadzić do niższej dokładności ze względu na to, że model spodziewa się, że ten typ klasy występuje zbyt często lub zbyt mało.
Typy klas są równomiernie dystrybuowane między zestawami trenowania i testowania: gdy kombinacja typów klas nie jest zgodna między zestawami treningowych i testowych, może to prowadzić do obniżenia dokładności testowania ze względu na sposób trenowania modelu inaczej niż testowany.
Typy klas w zestawie trenowania są wyraźnie odrębne: gdy dane treningowe są podobne dla wielu typów klas, może to prowadzić do obniżenia dokładności, ponieważ typy klas mogą być często błędnie sklasyfikowane jako siebie.
Macierz pomyłek
Ważne
Macierz pomyłek nie jest dostępna dla projektów klasyfikacji z wieloma etykietami. Macierz pomyłek jest macierzą N x N używaną do oceny wydajności modelu, gdzie N jest liczbą klas. Macierz porównuje oczekiwane etykiety z tymi przewidywanymi przez model. Zapewnia to całościowy pogląd na to, jak dobrze działa model i jakie rodzaje błędów wykonuje.
Możesz użyć macierzy Pomyłek, aby zidentyfikować klasy, które są zbyt blisko siebie i często się mylą (niejednoznaczność). W tym przypadku rozważ scalenie tych klas razem. Jeśli nie jest to możliwe, rozważ etykietowanie większej liczby dokumentów przy użyciu obu klas, aby ułatwić odróżnienie modelu od nich.
Wszystkie poprawne przewidywania znajdują się w przekątnej tabeli, więc łatwo jest wizualnie sprawdzić tabelę pod kątem błędów przewidywania, ponieważ będą one reprezentowane przez wartości poza przekątną.
Metryki oceny na poziomie klasy i na poziomie modelu można obliczyć na podstawie macierzy pomyłek:
- Wartości w przekątnej to wartości prawdziwie dodatnie każdej klasy.
- Suma wartości w wierszach klasy (z wyłączeniem przekątnej) jest wynikiem fałszywie dodatnim modelu.
- Suma wartości w kolumnach klasy (z wyłączeniem przekątnej) jest fałszywą wartością ujemną modelu.
Podobnie,
- Prawdziwie dodatnie wyniki modelu to suma wyników prawdziwie dodatnich dla wszystkich klas.
- Wynik fałszywie dodatni modelu jest sumą wyników fałszywie dodatnich dla wszystkich klas.
- Fałszywa ujemna wartość modelu jest sumą wyników fałszywie ujemnych dla wszystkich klas.