Przejdź do treści
Ulubione

Kalkulator macierzy pomyłek

Zaktualizowano:

Wpisz cztery wartości macierzy pomyłek (TP, FP, FN, TN), aby natychmiast otrzymać dokładność, precyzję, czułość, swoistość i miarę F1 — w postaci proporcji albo procentów.

Trafność, precyzja, czułość i miara F1 na podstawie macierzy pomyłek

Pola danych
Liczby w macierzy pomyłek
TP
Przypadki dodatnie poprawnie zaklasyfikowane jako dodatnie.
FP
Przypadki ujemne błędnie zaklasyfikowane jako dodatnie (błędy I rodzaju).
FN
Przypadki dodatnie błędnie zaklasyfikowane jako ujemne (błędy II rodzaju).
TN
Przypadki ujemne poprawnie zaklasyfikowane jako ujemne.
Opcje wyników
Po włączeniu wynik aktualizuje się automatycznie po zmianie dowolnej wartości.

Macierz pomyłek

Wzór
\[ n = TP + FP + FN + TN \\ \text{Dokładność} = \frac{TP + TN}{n} \\ \text{Precyzja} = \frac{TP}{TP + FP} \\ \text{Czułość} = \frac{TP}{TP + FN} \\ \text{Swoistość} = \frac{TN}{TN + FP} \\ F_1 = \frac{2TP}{2TP + FP + FN} = \frac{2 \cdot \text{Precyzja} \cdot \text{Czułość}}{\text{Precyzja} + \text{Czułość}} \]

Gdzie:

  • \(TP\) — prawdziwie pozytywne: przypadki pozytywne, poprawnie zaklasyfikowane jako pozytywne
  • \(FP\) — fałszywie pozytywne: przypadki negatywne, błędnie zaklasyfikowane jako pozytywne (błędy I rodzaju)
  • \(FN\) — fałszywie negatywne: przypadki pozytywne, błędnie zaklasyfikowane jako negatywne (błędy II rodzaju)
  • \(TN\) — prawdziwie negatywne: przypadki negatywne, poprawnie zaklasyfikowane jako negatywne
  • \(n\) — łączna liczba sklasyfikowanych przypadków

Każda z tych pięciu miar przyjmuje wartości od 0 (najgorzej) do 1 (idealnie) i podsumowuje inny aspekt działania klasyfikatora binarnego. Gdy mianownik jest zerowy, dana miara jest nieokreślona i kalkulator wyświetla „—”.

Macierz pomyłek – przykład obliczenia

Przykład: model przeanalizował 150 przypadków. Poprawnie wykrył 45 przypadków pozytywnych (TP), a 15 przeoczył (FN); 80 przypadków negatywnych (TN) prawidłowo uznał za negatywne, natomiast 10 razy podniósł fałszywy alarm (FP).

\[ n = 45 + 10 + 15 + 80 = 150 \]

\[ \text{Dokładność} = \frac{45 + 80}{150} = 0.8333 \quad (83.33\%) \]

\[ \text{Precyzja} = \frac{45}{45 + 10} = 0.8182 \quad (81.82\%) \]

\[ \text{Czułość} = \frac{45}{45 + 15} = 0.75 \quad (75\%) \]

\[ \text{Swoistość} = \frac{80}{80 + 10} = 0.8889 \quad (88.89\%) \]

\[ F_1 = \frac{2 \times 45}{2 \times 45 + 10 + 15} = \frac{90}{115} = 0.7826 \quad (78.26\%) \]

Wynik: dokładność 83,33%, precyzja 81,82%, czułość 75%, swoistość 88,89%, miara F1 78,26% (przy wynikach wyświetlanych w procentach).

Jak korzystać z kalkulatora

  1. Policz, ile przypadków trafia do każdej komórki Twojej macierzy pomyłek, i wpisz je w polach Prawdziwie pozytywne, Fałszywie pozytywne, Fałszywie negatywne i Prawdziwie negatywne. Wszystkie cztery wartości muszą być liczbami całkowitymi \(\ge 0\).
  2. Wybierz opcję Wyświetl miary jako: „Proporcje (0–1)” dla wartości dziesiętnych albo „Procenty (0–100%)” dla wartości procentowych.
  3. Odczytaj wyniki: Liczba predykcji, Dokładność, Precyzja (predykcyjna wartość dodatnia), Czułość (sensitivity, odsetek prawdziwie pozytywnych), Swoistość (odsetek prawdziwie negatywnych) i miara F1, a następnie podsumowanie tego, jak obliczono miary i jak je interpretować.
  4. Jeśli jakaś miara pokazuje „—”, jej mianownik był zerowy — np. precyzja jest nieokreślona, gdy model ani razu nie przewidział klasy pozytywnej (\(TP + FP = 0\)).

Czym jest macierz pomyłek?

Macierz pomyłek to podstawowy „raport szkolny” klasyfikatora binarnego. To tabela 2×2, w której prawdziwa klasa każdego przypadku (pozytywna lub negatywna) zestawiona jest z klasą przewidzianą przez model. Cztery komórki — prawdziwie pozytywne, fałszywie pozytywne, fałszywie negatywne i prawdziwie negatywne — obejmują wszystkie możliwe wyniki, więc ich suma \(n\) to łączna liczba sklasyfikowanych przypadków. Z samych tych czterech liczb można wyznaczyć każdą standardową miarę jakości klasyfikacji.

Każda z pięciu obliczanych tu miar odpowiada na inne pytanie. Dokładność pyta: ogółem, jaki odsetek predykcji był poprawny? Precyzja pyta: gdy model mówi „pozytyw”, jak często ma rację? Niska precyzja oznacza wiele fałszywych alarmów. Czułość (nazywana też sensitivity lub odsetkiem prawdziwie pozytywnych) pyta: spośród wszystkich przypadków, które naprawdę są pozytywne, ile model wykrył? Niska czułość oznacza przeoczone przypadki. Swoistość to czułość dla klasy negatywnej — jak dobrze model rozpoznaje prawdziwe negatywy. F1 to średnia harmoniczna precyzji i czułości, która wyważa te dwie miary: jest wysoka tylko wtedy, gdy obie są wysokie.

Dlaczego nie poprzestać na dokładności? Ponieważ dokładność zawodzi przy niezbilansowanych klasach. Jeśli tylko 1% przypadków jest pozytywnych, trywialny model, który wszystko etykietuje jako negatywne, osiąga 99% dokładności, nie wykrywając ani jednego pozytywu. Precyzja, czułość i F1 koncentrują się na klasie pozytywnej i natychmiast ujawniają takie porażki. To, która miara jest najważniejsza, zależy od kosztu błędów: w badaniach przesiewowych w kierunku raka przeoczony guz (fałszywy negatyw) jest znacznie gorszy niż fałszywy alarm, dlatego priorytet ma czułość; w filtrach spamu utracona wiadomość od prawdziwego nadawcy (fałszywy pozytyw) może być gorsza, więc ważniejsza jest precyzja.

W kontekstach medycznych i epidemiologicznych te same liczby noszą inne nazwy: czułość to sensitivity, precyzja to predykcyjna wartość dodatnia (PPV), a odsetek rzeczywistych przypadków pozytywnych \((TP + FN)/n\) to prewalencja. Jeśli znasz sensitivity, swoistość i prewalencję testu, możesz wyliczyć wartości predykcyjne za pomocą twierdzenia Bayesa.

Założenia, ograniczenia i praktyczne wskazówki

  • Kalkulator traktuje cztery liczniki jako dokładne liczby całkowite z pojedynczego przebiegu klasyfikacji. Zakłada, że każdy przypadek należy do dokładnie jednej komórki oraz że klasa „pozytywna” to ta, którą chcesz wykrywać.
  • Wszystkie miary liczone są na wpisanej próbie, więc są oszacowaniami obarczonymi błędem próbkowania. Przy małych liczebnościach (np. mniej niż 30 pozytywów) podaj przedział ufności — dla proporcji dobrze sprawdza się przedział Wilsona — zamiast samego procentu.
  • Miary z zerowym mianownikiem są nieokreślone i pokazywane jako „—”: precyzja, gdy nie przewidziano żadnych pozytywów; czułość, gdy brak rzeczywistych pozytywów; swoistość, gdy brak rzeczywistych negatywów; F1, gdy zarówno precyzja, jak i czułość są zerowe.
  • F1 traktuje precyzję i czułość na równi. Jeśli w Twoim zastosowaniu jedna z nich jest ważniejsza, użyj zamiast tego miary \(F_\beta\) (np. \(F_2\) faworyzuje czułość, a \(F_{0.5}\) precyzję).
  • Macierz pomyłek nic nie mówi o tym, dlaczego model się myli ani jak wypada na tle innego modelu na tych samych danych. Aby sprawdzić, czy dwa klasyfikatory (lub dwóch sędziów) istotnie się różnią przy sparowanych wynikach, użyj testu McNemara; dla niezależnych proporcji zastosuj test Z dla dwóch proporcji albo dokładny test Fishera.
  • Macierz pomyłek wymaga twardych (binarnych) decyzji. Jeśli Twój model zwraca prawdopodobieństwa, liczniki — a tym samym wszystkie miary — zależą od progu, który wybierzesz do zamiany wyników na etykiety, dlatego zawsze podawaj próg wraz z miarami.

Najczęściej zadawane pytania

Jaka jest dobra wartość miary F1 albo dokładności?

Nie istnieje uniwersalna „dobra” wartość — wszystko zależy od dziedziny i kosztu błędów. Orientacyjne reguły są następujące: powyżej 0,9 to znakomity wynik w dobrze zbadanych zadaniach, takich jak rozpoznawanie cyfr; 0,7–0,9 bywa akceptowalne w klasyfikacji tekstu; a 0,5–0,7 może już być wartościowe w zaszumionych obszarach, takich jak predykcja medyczna. Zawsze porównuj wynik z punktem odniesienia (np. modelem zawsze przewidującym klasę większościową), a nie oceniaj samej liczby bezwzględnej.

Jak obliczyć te miary ręcznie, bez kalkulatora?

Zapisz cztery liczniki w siatce 2×2, umieszczając klasy przewidziane w kolumnach, a klasy rzeczywiste w wierszach. Dokładność to suma przekątnej podzielona przez całkowitą liczbę przypadków; precyzja to TP podzielone przez sumę pierwszej kolumny; czułość to TP podzielone przez sumę pierwszego wiersza; a swoistość to TN podzielone przez sumę drugiego wiersza. F1 to średnia harmoniczna: pomnóż precyzję przez czułość, podwój i podziel przez ich sumę. Każda wartość mieści się między 0 a 1; pomnóż przez 100, aby uzyskać procent.

Jakie są najczęstsze błędy przy wypełnianiu macierzy pomyłek?

Klasyczny błąd to zamiana fałszywych pozytywów z fałszywymi negatywami. Zapamiętaj: fałszywy pozytyw to przypadek, który model przewidział jako pozytywny, a w rzeczywistości był negatywny (fałszywy alarm), natomiast fałszywy negatyw został przewidziany jako negatywny, choć naprawdę jest pozytywny (pomyłka, przeoczenie). Sprawdź też, czy układ macierzy zgadza się z Twoją konwencją — niektóre narzędzia umieszczają klasy rzeczywiste w kolumnach, a predykcje w wierszach, co transponuje tabelę i zmienia to, które komórki to FP, a które FN.

Czy ten kalkulator obsługuje macierze pomyłek dla wielu klas?

Nie — działa wyłącznie dla problemów binarnych (dwuklasowych). W zadaniach wieloklasowych możesz zbudować osobną macierz 2×2 dla każdej klasy, traktując tę klasę jako „pozytywną”, a wszystkie pozostałe jako „negatywne”, a następnie obliczyć precyzję, czułość i F1 dla każdej klasy i uśrednić je (uśrednianie makro lub mikro). Alternatywnie miary takie jak współczynnik korelacji Matthewsa (MCC) czy kappa Cohena uogólniają się wprost na większe macierze kwadratowe.

Jak przeliczać proporcje, procenty i szanse?

Proporcja 0,85 to 85% — wystarczy pomnożyć przez 100 (lub podzielić przez 100, aby wrócić). Niektóre dziedziny podają zamiast tego szanse: iloraz szans klasyfikatora to \( (TP \cdot TN)/(FP \cdot FN) \), a statystyka J Youdena to czułość + swoistość − 1. Jeśli źródło podaje procent, zamień go na proporcję, zanim użyjesz go we wzorach, takich jak średnia harmoniczna dla F1.

Dlaczego moja miara F1 jest niższa niż precyzja i czułość?

To oczekiwane zachowanie, a nie błąd. F1 to średnia harmoniczna, którą dominuje mniejsza z dwóch wartości. Na przykład przy precyzji 0,95 i czułości 0,55 miara F1 wynosi około 0,70 — znacznie bliżej słabej czułości, niż sugerowałaby średnia arytmetyczna (0,75). To karze klasyfikatory, które błyszczą w jednej miarze, a zawodzą w drugiej — i właśnie dlatego F1 jest preferowana względem prostego uśrednienia.

A co z klasą negatywną — czy istnieje predykcyjna wartość ujemna?

Tak. Odpowiednikiem precyzji dla klasy negatywnej jest predykcyjna wartość ujemna (NPV): \( TN/(TN + FN) \), czyli prawdopodobieństwo, że predykcja „negatywna” jest naprawdę negatywna. W przeciwieństwie do czułości i swoistości zarówno PPV, jak i NPV zależą od prewalencji klas, więc ten sam test może mieć wysoką NPV w populacji o niskiej prewalencji nawet przy przeciętnej swoistości. Używaj jej wtedy, gdy liczy się wiarygodność wyników negatywnych, np. przy wykluczaniu choroby.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *