Próbuję ustawienia klasyfikacji wieloklasowej z 3 klasami. Rozkład klas jest wypaczony, a większość danych należy do jednej z 3 klas. (etykiety klas to 1,2,3, przy 67,28% danych należących do klasy 1, 11,99% danych w klasie 2 i pozostałe w klasie 3)
Uczę klasyfikatora wieloklasowego w tym zestawie danych i uzyskuję następującą wydajność:
Precision Recall F1-Score
Micro Average 0.731 0.731 0.731
Macro Average 0.679 0.529 0.565
Nie jestem pewien, dlaczego wszystkie Śr. Micro. wyniki są równe, a także dlaczego wyniki średniej makro są tak niskie.
multiclass-classification
evaluation
SHASHANK GUPTA
źródło
źródło
Odpowiedzi:
Średnie mikro i makro (dla dowolnej metryki) obliczą nieco inne rzeczy, a zatem ich interpretacja jest różna. Makrośrednia obliczy metrykę niezależnie dla każdej klasy, a następnie weźmie średnią (stąd równe traktowanie wszystkich klas), podczas gdy mikro-średnia zsumuje udziały wszystkich klas w celu obliczenia średniej metryki. W konfiguracji klasyfikacji wieloklasowej preferowana jest mikro-średnia, jeśli podejrzewasz, że może wystąpić nierównowaga klas (tzn. Możesz mieć o wiele więcej przykładów jednej klasy niż innych klas).
Aby zilustrować dlaczego, weźmy na przykład precyzję . Wyobraźmy sobie, że masz system klasyfikacji jeden do wszystkich (na przykład jest tylko jedna poprawna klasa wyjściowa) wieloklasowy system klasyfikacji z czterema klasami i następującymi liczbami podczas testowania:Pr=TP(TP+FP)
Łatwo można zauważyć, że , podczas gdy .PrA=PrC=PrD=0.5 PrB=0.1
Są to zupełnie inne wartości precyzji. Intuicyjnie, w makro-średniej „dobra” precyzja (0,5) klas A, C i D przyczynia się do utrzymania „przyzwoitej” ogólnej precyzji (0,4). Choć technicznie jest to prawdą (dla wszystkich klas, średnia precyzja wynosi 0,4), jest to nieco mylące, ponieważ duża liczba przykładów nie jest odpowiednio sklasyfikowana. Przykłady te w przeważającej części odpowiadają klasie B, więc stanowią jedynie 1/4 wartości średniej, mimo że stanowią 94,3% danych testowych. Mikro-średnia odpowiednio wychwyci nierównowagę tej klasy i obniży ogólną średnią precyzji do 0,123 (więcej w stosunku do precyzji dominującej klasy B (0,1)).
Ze względów obliczeniowych czasem wygodniej jest obliczyć średnie klasowe, a następnie je makro-średnie. Jeśli wiadomo, że nierównowaga klas jest problemem, istnieje kilka sposobów jej rozwiązania. Jednym z nich jest zgłoszenie nie tylko średniej makro, ale także jej odchylenia standardowego (dla 3 lub więcej klas). Innym jest obliczenie ważonej makro-średniej, w której każdy udział klasy w średniej jest ważony przez względną liczbę dostępnych dla niego przykładów. W powyższym scenariuszu uzyskujemy:
Duże odchylenie standardowe (0,173) mówi nam już, że średnia 0,4 nie wynika z jednolitej precyzji między klasami, ale może być po prostu łatwiej obliczyć ważoną makro-średnią, co w gruncie rzeczy jest innym sposobem obliczania mikro-średniej .
źródło
Oryginalny post - http://rushdishams.blogspot.in/2011/08/micro-and-macro-average-of-precision.html
W metodzie mikro-średniej sumuje się poszczególne prawdziwe pozytywy, fałszywie dodatnie i fałszywe negatywy systemu dla różnych zbiorów i stosuje się je, aby uzyskać statystyki.
Podstępne, ale uważam to za bardzo interesujące. Istnieją dwie metody uzyskiwania takiej średniej statystyki wyszukiwania i klasyfikacji informacji.
1. Metoda mikro-średnia
W metodzie mikro-średniej sumuje się poszczególne prawdziwe pozytywy, fałszywie dodatnie i fałszywe negatywy systemu dla różnych zbiorów i stosuje się je, aby uzyskać statystyki. Na przykład dla zestawu danych system
Wtedy precyzja (P1) i przywołanie (R1) będą wynosić i57.14%=TP1TP1+FP1 80%=TP1TP1+FN1
i dla innego zestawu danych, systemu
Wtedy precyzja (P2) i wycofanie (R2) będą wynosić 68,49 i 84,75
Teraz średnia precyzja i przywracanie systemu za pomocą metody mikro-średniej wynosi
Mikro-średnia F-score będzie po prostu średnią harmoniczną tych dwóch liczb.
2. Metoda makro-średnia
Metoda jest prosta. Wystarczy wziąć średnią precyzji i przywołać system w różnych zestawach. Na przykład makro-średnia precyzja i przywołanie systemu dla podanego przykładu wynosi
Makro-średnia F-score będzie po prostu średnią harmoniczną tych dwóch liczb.
Przydatność Można zastosować metodę średniej makro, jeśli chcesz wiedzieć, jak system ogólnie działa na wszystkich zestawach danych. Przy tej średniej nie powinieneś podejmować żadnej konkretnej decyzji.
Z drugiej strony mikro-średnia może być użyteczną miarą, gdy zestaw danych różni się rozmiarem.
źródło
W ustawieniach wieloklasowych precyzja i uśrednianie mikro zawsze są takie same.
Ponieważ w ustawieniach wielu klas zliczasz wszystkie fałszywe instancje, okazuje się, że
Stąd P = R. Innymi słowy, każda pojedyncza Fałszywa Prognoza będzie Fałszywym Pozytywem dla klasy, a każdy Pojedynczy Negatyw będzie Fałszywym Negatywem dla klasy. Jeśli potraktujesz przypadek klasyfikacji binarnej jako klasyfikację dwuklasową i obliczysz mikro-uśrednioną precyzję i przypomnisz sobie, że będą takie same.
Odpowiedź udzielona przez Rahula dotyczy uśrednienia binarnej precyzji i przywołania z wielu zestawów danych. W takim przypadku precyzja mikro i uśrednianie są różne.
źródło
Tak powinno być. Miałem taki sam wynik dla moich badań. Z początku wydawało się to dziwne. Jednak precyzja i przywołanie powinny być takie same, a mikro-uśrednianie wyniku klasyfikatora z pojedynczą etykietą. Dzieje się tak, ponieważ jeśli weźmiesz pod uwagę błędną klasyfikację c1 = c2 (gdzie c1 i c2 to 2 różne klasy), błędna klasyfikacja jest fałszywie dodatnia (fp) w odniesieniu do c2 i fałszywie ujemna (fn) w odniesieniu do c1. Jeśli zsumujesz fn i fp dla wszystkich klas, otrzymasz ten sam numer, ponieważ liczysz każde błędne klasyfikowanie jako fp w odniesieniu do jednej klasy i fn w odniesieniu do innej klasy.
źródło
Myślę, że powód, dla którego średnia makro jest niższa niż mikro średnia, jest dobrze wyjaśniony odpowiedzią pytającego (klasa dominująca ma lepsze przewidywania, a więc wzrost mikro średniej).
Ale fakt, że mikro średnia jest równa w przypadku Precyzji, Wycofania i F1, wynika z tego, że mikro uśrednianie tych wskaźników daje ogólną Dokładność (ponieważ mikro śr. Uznaje wszystkie klasy za dodatnie). Pamiętaj, że jeśli Precyzja i Przywołanie są równe, wynik F1 jest po prostu równy precyzji / przywołaniu.
Co do pytania, czy „ważona makro-średnia” zawsze będzie równa „mikro-średniej”? Zrobiłem kilka eksperymentów z innym nie. klas i różnych nierównowag klasowych i okazuje się, że nie jest to konieczne, prawda.
Stwierdzenia te zostały przyjęte przy założeniu, że rozważamy wszystkie klasy tego samego zestawu danych (w przeciwieństwie do odpowiedzi Rahula Reddy'ego Vemireddy'ego)
źródło
zaletą korzystania z oceny makro F1 jest to, że nadaje ona jednakową wagę wszystkim punktom danych, na przykład: pomyślmy o tym, ponieważ mikrofon F1 pobiera sumę wszystkich wywołań i precesji różnych etykiet niezależnie, więc gdy mamy nierównowagę klas jak T1 = 90%, T2 = 80%, T3 = 5, a następnie F1 Micro przypisuje jednakową wagę całej klasie i nie ma na nią wpływu odchylenie w rozkładzie dziennika klasy, utrata logu powoduje karę za małe odchylenia w klasie
źródło