Strona głównaData science i statystykaMacierz pomyłek i eksplorator ROC-AUC

🎯 Macierz pomyłek i eksplorator ROC-AUC

Przeciągnij próg decyzyjny na tle dwóch nakładających się rozkładów wyników i obserwuj, jak macierz pomyłek, krzywa ROC, AUC oraz krzywa precyzja-czułość aktualizują się na żywo.

Data science i statystyka2DUmiarkowany60 FPS
confusion-matrix-explorer ↗ Otwórz samodzielnie

O eksploratorze macierzy pomyłek i ROC-AUC

Klasyfikator binarny rzadko zwraca bezpośrednio twardą etykietę — zwraca ciągły wynik, a to wybór progu decyzyjnego przekształca ten wynik w przewidywaną klasę. Wszystko na poziomie progu lub powyżej nazywane jest „pozytywnym”; wszystko poniżej — „negatywnym”. Porównanie tych predykcji z prawdziwymi etykietami daje macierz pomyłek: prawdziwie pozytywne (TP), fałszywie pozytywne (FP), prawdziwie negatywne (TN) i fałszywie negatywne (FN). Każda standardowa metryka oceny — precyzja, czułość, swoistość, F1 — jest po prostu arytmetyczną kombinacją tych czterech liczb, a każda z nich zmienia się wraz z przesunięciem progu.

Ten symulator generuje dwa nakładające się syntetyczne rozkłady wyników — jeden dla klasy prawdziwie negatywnej, jeden dla prawdziwie pozytywnej — i pozwala przeciągać próg na ich tle, podczas gdy macierz pomyłek aktualizuje się na żywo. Przesuwanie progu od maksimum do minimum i wykreślanie wynikowego odsetka prawdziwie pozytywnych względem odsetka fałszywie pozytywnych na każdym kroku tworzy krzywą ROC; pole pod tą krzywą (AUC) jest rzeczywiście obliczonym, niezależnym od progu podsumowaniem, jak dobrze separowalne są obie klasy. Ponieważ oś odsetka fałszywie pozytywnych w ROC jest normalizowana przez (często ogromną) liczbę negatywów, może ona wyglądać zwodniczo dobrze przy niezbalansowanych danych — z tego właśnie powodu obok niej pokazana jest krzywa precyzja-czułość, normalizowana zamiast tego przez liczbę predykcji pozytywnych.

Najczęściej zadawane pytania

Czym jest macierz pomyłek?

Macierz pomyłek to tabela 2×2 zestawiająca przewidywane etykiety klasyfikatora binarnego z etykietami prawdziwymi: prawdziwie pozytywne (TP, poprawnie przewidziane jako pozytywne), fałszywie pozytywne (FP, przewidziane jako pozytywne, a w rzeczywistości negatywne), prawdziwie negatywne (TN, poprawnie przewidziane jako negatywne) i fałszywie negatywne (FN, przewidziane jako negatywne, a w rzeczywistości pozytywne). Każda oparta na progu metryka dokładności — precyzja, czułość, F1, swoistość — jest obliczana bezpośrednio z tych czterech liczb.

Jak krzywa ROC jest konstruowana na podstawie przesuwania progu?

Krzywa ROC (Receiver Operating Characteristic) jest budowana poprzez przesuwanie progu decyzyjnego od najwyższej wartości w dół do najniższej, przeliczanie macierzy pomyłek na każdym kroku i wykreślanie wynikowego odsetka fałszywie pozytywnych (oś x) względem odsetka prawdziwie pozytywnych (oś y) przy każdym progu. Przy bardzo wysokim progu prawie nic nie jest przewidywane jako pozytywne, więc oba odsetki zaczynają się blisko (0,0); gdy próg spada w kierunku minimalnego wyniku, wszystko zostaje przewidziane jako pozytywne, a krzywa kończy się w (1,1).

Co właściwie mierzy AUC i co oznaczają wartości 0,5 i 1,0?

AUC to pole pod krzywą ROC, równoważne prawdopodobieństwu, że losowo wybrany przykład pozytywny otrzyma wyższy wynik niż losowo wybrany przykład negatywny. AUC równe 0,5 oznacza, że klasyfikator nie jest lepszy niż losowe zgadywanie (krzywa ROC leży na przekątnej); AUC równe 1,0 oznacza doskonałą separację — każdy pozytywny ma wyższy wynik niż każdy negatywny. Ponieważ jest obliczane poprzez przesuwanie wszystkich progów, AUC podsumowuje jakość klasyfikatora niezależnie od jakiegokolwiek pojedynczego punktu pracy.

Dlaczego krzywe precyzja-czułość mają większe znaczenie dla niezbalansowanych zbiorów danych niż krzywe ROC?

Odsetek fałszywie pozytywnych stosowany w krzywych ROC jest normalizowany przez liczbę negatywów, która jest ogromna w niezbalansowanym zbiorze danych — więc nawet duża liczba fałszywie pozytywnych może wyglądać jak znikomy FPR, a ROC-AUC pozostaje zwodniczo wysokie. Precyzja, stosowana w krzywej precyzja-czułość, jest normalizowana zamiast tego przez liczbę predykcji pozytywnych, więc bezpośrednio ujawnia, jak często predykcja pozytywna jest błędna. Gdy pozytywy są rzadkie, krzywa precyzja-czułość daje bardziej uczciwy obraz skuteczności.

Jaka jest różnica między precyzją a czułością (TPR)?

Czułość (nazywana też odsetkiem prawdziwie pozytywnych lub wrażliwością) to TP / (TP + FN) — spośród wszystkich rzeczywistych pozytywów, jaką część wychwycił klasyfikator. Precyzja to TP / (TP + FP) — spośród wszystkiego, co klasyfikator oznaczył jako pozytywne, jaka część rzeczywiście była pozytywna. Podniesienie progu decyzyjnego zazwyczaj zwiększa precyzję (mniej, ale bardziej pewnych wskazań pozytywnych), obniżając jednocześnie czułość (więcej rzeczywistych pozytywów zostaje pominiętych), i odwrotnie.

Czym jest wynik F1 i kiedy warto go stosować?

F1 to średnia harmoniczna precyzji i czułości: 2 × precyzja × czułość / (precyzja + czułość). W przeciwieństwie do zwykłej średniej, średnia harmoniczna jest silnie obniżana przez tę z dwóch wartości, która jest mniejsza, więc F1 pozostaje wysokie tylko wtedy, gdy zarówno precyzja, jak i czułość są rozsądnie wysokie. Jest to przydatne jednoliczbowe podsumowanie przy jednym konkretnym progu, gdy zależy nam na pozytywach i nie możemy tolerować załamania żadnej z metryk, zwłaszcza przy niezbalansowanych danych, gdzie zwykła dokładność wprowadza w błąd.

Jak przesuwanie progu decyzyjnego wymienia fałszywie pozytywne na fałszywie negatywne?

Podniesienie progu czyni klasyfikator bardziej konserwatywnym: mniej przykładów jest przewidywanych jako pozytywne, co zmniejsza liczbę fałszywie pozytywnych, ale zwiększa liczbę fałszywie negatywnych. Obniżenie progu działa odwrotnie: więcej przykładów jest przewidywanych jako pozytywne, co wychwytuje więcej prawdziwych pozytywów, ale wpuszcza też więcej fałszywie pozytywnych. Nie istnieje próg minimalizujący jednocześnie obie wartości, gdy oba rozkłady wyników się nakładają — wybór zależy od tego, który błąd jest kosztowniejszy w danym zastosowaniu.

Dlaczego separacja klas zmienia kształt krzywej ROC?

Separacja klas określa, jak daleko od siebie znajdują się średnie wyniki rozkładów pozytywnego i negatywnego. Gdy rozkłady ledwo się nakładają, niemal każdy próg czysto dzieli obie klasy, więc TPR rośnie znacznie szybciej niż FPR w miarę przesuwania progu w dół, wyginając krzywą ROC w kierunku górnego lewego rogu i popychając AUC w stronę 1,0. Gdy rozkłady nakładają się mocno, żaden próg nie separuje ich dobrze, TPR i FPR rosną razem, a krzywa zapada się w kierunku przekątnej, przy AUC zbliżającym się do 0,5.

⚙ Pod maską

Przeciągnij próg decyzyjny na tle dwóch nakładających się rozkładów wyników i obserwuj, jak macierz pomyłek, krzywa ROC, AUC oraz krzywa precyzja-czułość aktualizują się na żywo.

confusion-matrixroc-curveaucprecision-recallclassification-metricsmachine-learning

2D · Canvas 2D · docelowo 60 FPS · działa w całości w przeglądarce, bez instalacji