Jak zbudować macierz nieporozumień dla klasyfikatora wieloklasowego?

12

Mam problem z 6 klasami. Buduję klasyfikator wieloklasowy w następujący sposób: dla każdej klasy mam jeden klasyfikator regresji logistycznej, używając One vs. All, co oznacza, że ​​mam 6 różnych klasyfikatorów.

Mogę zgłosić macierz nieporozumień dla każdego z moich klasyfikatorów. Chciałbym jednak zgłosić macierz nieporozumień dla WSZYSTKICH klasyfikatorów, co widziałem w wielu przykładach tutaj.

Jak mogę to zrobić? Czy muszę zmienić strategię klasyfikacji, stosując algorytm jeden na jednego zamiast jeden na wszystkich? Ponieważ na tych macierzach zamieszania, raporty mówią fałszywie pozytywne dla każdej klasy.

Przykład wieloklasowej macierzy zamieszania

Macierz pomyłek wieloklasowych

Chciałbym znaleźć liczbę błędnie sklasyfikowanych przedmiotów. W pierwszym rzędzie znajduje się 137 przykładów klasy 1, które zostały sklasyfikowane jako klasa 1 oraz 13 przykładów klasy 1, które zostały zaklasyfikowane jako klasa 2 . Jak zdobyć ten numer?

Victor Leal
źródło
Liczba błędnie sklasyfikowanych pozycji to suma wszystkich elementów w macierzy minus ślad macierzy ... ale nie sądzę, że o to ci chodzi.
1
Mechanicznie otrzymujesz tę macierz, najpierw oddzielając zestaw testowy od ich rzeczywistej klasy (powiedzmy: Cel = 1, Cel = 2 itd.), A następnie zastosuj wyszkolonego klasyfikatora do każdego punktu w każdej grupie. Zatem dla parametru Target = 1 wypełniłbyś górny wiersz macierzy na podstawie liczby członków tej grupy przypisanych do każdej klasy.
Dokładnie tak należy to zrobić ... Tak mechaniczne, jak powiedziałeś. Dzięki!
Victor Leal,
1
nie ma problemu. Wspomniałem o tym bardziej formalnie w moim poście, ale czasem pomaga to zobaczyć rzeczywistą recepturę.

Odpowiedzi:

6

Przypuszczalnie używasz tych klasyfikatorów, aby pomóc wybrać jedną konkretną klasę dla danego zestawu wartości cech (jak powiedziałeś, że tworzysz klasyfikator wieloklasowy).

Powiedzmy, że masz N. klas, wtedy macierz pomieszania byłaby an N.×N.macierz, przy czym lewa oś pokazuje prawdziwą klasę (znaną w zestawie testowym), a górna oś pokazuje klasę przypisaną do elementu o tej prawdziwej klasie. Każdy elementja,jot macierzy to liczba pozycji z prawdziwą klasą ja które zostały sklasyfikowane jako należące do klasy jot.

Jest to proste rozszerzenie 2-klasowej macierzy pomyłek.


źródło
Tak! Wiem o tym! Ale jak powiedzieć fałszywie pozytywne? Mam na myśli przykłady, w których pokazana jest liczba błędnie sklasyfikowanych pozycji ... a moi klasyfikatorzy mówią tylko: „Hej, jest 60 pozycji klasy A, a 40 innej klasy (po prostu nie mogę powiedzieć, która to jest ...) ”
Victor Leal
1
@VictorLeal Nie podążam, macierz dezorientacji powie ci fałszywie dodatnie, prawdziwie pozytywne, prawdziwe negatywy, fałszywe negatywy .. czego brakuje?
1
@VictorLeal patrz tutaj: en.wikipedia.org/wiki/Confusion_matrix
Znam informacje, które mamy w Macierzy Zamieszania. Może obraz może lepiej reprezentować to, o czym mówię: Confusion Matrix Multiclass
Victor Leal
@VictorLeal Wygląda mi to na normalną macierz zamieszania ... LHS pokazuje rzeczywistą klasę u góry pokazuje przypisaną klasę ... czy coś mi brakuje? Powinieneś także dodać ten obraz do swojego posta. Będzie to pomocne
12

Chociaż na tym forum jest już kilka odpowiedzi, pomyślałem, że podam wyraźne równania, aby uczynić je bardziej precyzyjnymi:

Zakładając, że masz wieloklasową macierz zamieszania w formie,

do=RzeczywistySklasyfikowanedo11...do1ndon1donn

Elementy zamieszania dla każdej klasy podano przez:

tpja=dojaja

fapja=l=1ndolja-tpja

fanja=l=1ndojal-tpja

tnja=l=1nk=1ndolk-tpja-fapja-fanja

Josh Albert
źródło
co to jest L i L?
girl101
1
także, co to jest tp, tn, fp, fn dla wszystkich klas razem
dziewczyna101
tp = prawdziwie dodatni, fp = fałszywie dodatni, fn = fałszywie ujemny, tn = prawdziwie ujemny. Przypuszczam, że indeks i odnosi się do każdej klasy.
Albert
1

Wykorzystując macierz dołączoną do pytania i biorąc pod uwagę wartości w osi pionowej jako rzeczywistą klasę, a wartości w osi poziomej prognozę. Następnie dla klasy 1:

  • Prawdziwie dodatni = 137-> próbki klasy 1, sklasyfikowane jako klasa 1
  • Fałszywie dodatni = 6-> (1 + 2 + 4) próbki klas 2, 3 i 4, ale sklasyfikowane jako klasa 1
  • Fałszywie ujemny = 18-> (13 + 3 + 1 + 1) próbki klasy 1, ale sklasyfikowane jako klasy 2, 3, 6 i 7
  • Ture Negative = 581-> (55 + 1 + 6 ... + 2 + 26) Suma wszystkich wartości w macierzy oprócz tych z kolumny 1 i wiersza 1
Ignacio Alorre
źródło