Jak dobrać metryki do klasyfikacji: accuracy, F1 i ROC AUC w praktyce

0
57
1/5 - (1 vote)

Nawigacja:

Po co w ogóle są metryki i dlaczego jedna nie wystarcza

Różnica między „działa mi model” a „mam poprawnie dobraną metrykę”

W klasyfikacji bardzo łatwo wpaść w pułapkę myślenia: „model działa, bo accuracy jest wysokie”. Tymczasem sama wysoka wartość jednej liczby jeszcze nie oznacza, że model faktycznie rozwiązuje właściwy problem. Metryka jest tylko narzędziem pomiaru, a nie celem samym w sobie. To, czy wynik 0,95 należy uznać za sukces, zależy od rozkładu klas, kosztów błędów i sposobu późniejszego użycia modelu.

W praktyce poprawnie dobrana metryka powinna odzwierciedlać to, na czym naprawdę zależy interesariuszom: np. liczbie wykrytych fraudów, liczbie błędnie odrzuconych wniosków kredytowych albo koszcie niepotrzebnych badań medycznych. Accuracy, F1 i ROC AUC to trzy bardzo popularne wskaźniki jakości klasyfikacji, lecz każdy z nich patrzy na model z innej perspektywy i premiuje inne zachowania.

Jeśli metryka nie jest dobrana do celu biznesowego, model można „optymalizować” w zupełnie złą stronę. W skrajnym przypadku model z bardzo wysoką accuracy może być praktycznie bezużyteczny operacyjnie, a skromnie wyglądające F1 może lepiej odzwierciedlać realne korzyści.

Jak metryki przekładają się na decyzje biznesowe i ryzyko

Dobór metryki w klasyfikacji wprost wpływa na to, jakie decyzje będą uznawane za „dobre”. Przykładowo:

  • Wykrywanie fraudów – typowo istotne jest złapanie jak największej liczby oszustw (wysoki recall), przy akceptowalnej liczbie fałszywych alarmów (kontrola precision lub kosztu FP).
  • Diagnostyka medyczna – często priorytetem jest minimalizacja przeoczeń poważnej choroby (wysoki recall dla klasy pozytywnej), nawet kosztem większej liczby badań dodatkowych.
  • Reklama i marketing – może bardziej liczyć się trafność typowania leadów (wysokie precision w top-N), niż sama „globalna” accuracy.

W każdym z tych przypadków inna metryka staje się głównym punktem odniesienia, mimo że technicznie rzecz biorąc chodzi o klasyfikację binarną. Accuracy zlewa wszystkie typy błędów w jedną średnią, podczas gdy F1 skupia się na tym, jak dobrze model radzi sobie z klasą pozytywną, a ROC AUC mówi, jak dobrze model rozdziela klasy w całym zakresie progów.

Przykład: ten sam model oceniany accuracy vs F1 – odmienne wnioski

Wyobraźmy sobie klasyfikator fraudów, w którym przypadki oszustwa stanowią niewielki ułamek transakcji. Jeżeli model prawie zawsze przewiduje „brak fraudu”, to accuracy może być bardzo wysokie, ponieważ większość transakcji rzeczywiście jest poprawna. Jednocześnie precision i recall dla klasy „fraud” będą dramatycznie niskie, a F1 bliskie zeru.

W takiej sytuacji:

  • Accuracy zasugeruje, że model jest „prawie idealny”.
  • F1 pokaże, że model nie radzi sobie w ogóle z klasą pozytywną.
  • ROC AUC może wskazywać, że model pewną zdolność rozróżniania jednak ma, ale przy aktualnym progu decyzji jest źle wykorzystywana.

Ten przykład pokazuje, że sam wybór metryki może kompletnie zmienić ocenę jakości modelu. Bez zrozumienia, co naprawdę mierzy każdy wskaźnik, nietrudno o błędne decyzje: odrzucenie dobrego modelu albo wdrożenie takiego, który nie spełnia kluczowych wymagań.

Kiedy skupienie się na jednej liczbie prowadzi na manowce

Jedna liczba nie jest w stanie oddać wszystkich aspektów jakości klasyfikacji. Skupienie się wyłącznie na accuracy, F1 lub ROC AUC prowadzi zazwyczaj do uproszczeń:

  • ignorowania rozkładu klas i różnic w kosztach błędów,
  • przeoczenia problemów z kalibracją probabilistyczną,
  • nierozróżniania jakości rankingu (AUC) od jakości decyzji przy konkretnym progu (F1, accuracy).

Dlatego w praktyce najbezpieczniej jest używać zestawu 2–3 uzupełniających się metryk i interpretować je razem, a nie szukać jednej „magicznej” wartości opisującej cały model.

Fundamenty klasyfikacji – co dokładnie mierzymy

Rodzaje problemów: binarna, wieloklasowa i multilabel

Dobór metryk ma sens tylko wtedy, gdy jest osadzony w kontekście typu zadania:

  • Klasyfikacja binarna – dwie klasy, np. „fraud” vs „nie fraud”, „chory” vs „zdrowy”. Tu najczęściej pojawiają się accuracy, F1, ROC AUC i krzywa Precision-Recall.
  • Klasyfikacja wieloklasowa – wiele wzajemnie wykluczających się klas, np. kategorie produktu. Metryki trzeba rozszerzyć na więcej klas (macro, micro, weighted).
  • Multilabel – każdy przykład może mieć wiele etykiet jednocześnie, np. kilka tematów artykułu. Tu pojawiają się specyficzne sposoby liczenia F1 i accuracy.

W praktyce to klasyfikacja binarna jest punktem wyjścia do zrozumienia metryk. Rozszerzenia na wiele klas zwykle opierają się na agregowaniu wyników „binarnych” (jedna klasa vs reszta) różnymi sposobami.

Confusion matrix – True Positive, False Positive itd.

Większość metryk klasyfikacji da się wyprowadzić z prostego zestawienia tego, co model przewidział, oraz tego, jaka jest prawda. Służy do tego macierz pomyłek (confusion matrix). Dla klasyfikacji binarnej wygląda ona następująco:

Rzeczywista klasa pozytywnaRzeczywista klasa negatywna
Przewidywana klasa pozytywnaTrue Positive (TP)False Positive (FP)
Przewidywana klasa negatywnaFalse Negative (FN)True Negative (TN)
  • TP – model przewidział „pozytywne” i rzeczywiście było pozytywne.
  • FP – model przewidział „pozytywne”, ale faktycznie było negatywne.
  • FN – model przewidział „negatywne”, choć przykład był pozytywny.
  • TN – model przewidział „negatywne” i to była prawda.

Accuracy, precision, recall, F1, TPR, FPR – wszystkie te metryki są funkcjami TP, FP, FN, TN. Zrozumienie tej macierzy jest ważniejsze niż „sucha” znajomość wzorów, bo pozwala później łączyć wyniki z realnymi konsekwencjami błędów.

Jakość na klasie pozytywnej kontra ogólna skuteczność

W wielu zastosowaniach klasa pozytywna odpowiada „rzadkiemu, ważnemu zdarzeniu”: fraud, awaria, ciężka choroba, klient, który odejdzie. Wówczas:

  • accuracy pokazuje, jak często model trafia ogólnie,
  • precision i recall skupiają się na tym, jak model radzi sobie z wykrywaniem zdarzeń pozytywnych,
  • F1 łączy precision i recall w jedną liczbę.

Jeśli klasa pozytywna jest rzadkim zdarzeniem, a koszt przeoczenia (FN) jest wysoki, to metryki „globalne” (accuracy) szybko tracą sens, bo są zdominowane przez łatwe przypadki klasy negatywnej. Metryki takie jak F1 czy krzywa Precision-Recall będą wtedy dużo bliżej prawdziwego problemu.

Konsekwencje błędów FP i FN w typowych scenariuszach

Wybór metryk jest mocno związany z tym, które błędy są groźniejsze:

  • Fraud detection – fałszywie pozytywny (FP) to uczciwy klient zablokowany lub poproszony o dodatkową weryfikację. Fałszywie negatywny (FN) to oszust, który przechodzi niezauważony. Często priorytetem jest ograniczanie FN, przy akceptowalnej liczbie FP.
  • Medycyna – FN to chory pacjent uznany za zdrowego (wysokie ryzyko), FP to zdrowy pacjent skierowany na dodatkowe badania (koszt, stres). Zwykle minimalizuje się FN (wysoki recall), akceptując więcej FP.
  • Marketing / churn – FP to klient, któremu zaoferowano promocję niepotrzebnie (koszt niepotrzebnej akcji), FN to klient, który odszedł bez reakcji. Czasami ważniejsza jest jakość „top-N” (precision przy określonym progu lub poziomie interwencji).

Jeżeli zespół nie policzy lub przynajmniej nie uporządkuje tych konsekwencji, bardzo łatwo dobrać metrykę, która nagradza „bezpieczne” zachowania modelu (np. prawie nigdy nie przewiduj fraudu), zamiast te, które są zgodne ze strategią biznesową.

Laptop z pulpitem analitycznym pokazującym metryki i wykresy w czasie rzeczywist
Źródło: Pexels | Autor: Atlantic Ambience

Accuracy – kiedy wystarcza, a kiedy wprowadza w błąd

Definicja accuracy i obliczanie z macierzy pomyłek

Accuracy to najbardziej intuicyjna metryka klasyfikacji. Mierzy odsetek poprawnych klasyfikacji:

Accuracy = (TP + TN) / (TP + TN + FP + FN)

Innymi słowy, accuracy odpowiada na pytanie: „Jaki procent wszystkich przypadków został zaklasyfikowany poprawnie?”. Jeśli zbiór danych jest zbilansowany, a koszt pomyłek podobny po obu stronach, accuracy bywa zupełnie sensowną pierwszą miarą. Problem zaczyna się, gdy klasy są bardzo nierówne.

Intuicja: kiedy accuracy ma sens

Accuracy dobrze działa wtedy, gdy:

  • liczebności klas są z grubsza podobne,
  • koszt FP i FN jest zbliżony lub trudno je od siebie odróżnić,
  • nie ma wyraźnie „ważniejszej” klasy (brak klasy rzadkiej krytycznej).

Typowym przykładem są proste klasyfikatory treści, np. przypisanie artykułu do jednej z kilku równoważnych kategorii. Jeśli błędne przypisanie jest w miarę symetrycznie „złe”, to accuracy jako globalny wskaźnik sprawdza się przy szybkim porównywaniu modeli.

Pułapka niezbalansowanych danych

Przy silnej nierównowadze klas (np. 1% fraudów, 99% poprawnych transakcji) accuracy może być myląco wysokie nawet dla modelu, który w praktyce nie wykrywa prawie niczego ważnego. Klasyczny przykład:

  • model zawsze przewiduje klasę negatywną („brak fraudu”),
  • accuracy ≈ 99%, bo 99% przykładów jest rzeczywiście negatywnych,
  • precision i recall dla pozytywów są równe 0, F1 = 0.

Z perspektywy biznesu taki model jest bezużyteczny, mimo że statystycznie „prawie zawsze ma rację”. Z tego powodu w zadaniach z rzadką klasą pozytywną accuracy raczej nie powinno być główną metryką, a często w ogóle nie powinno być używane samodzielnie.

Kiedy accuracy jest rozsądnym wyborem

Accuracy może być główną metryką w sytuacjach, w których:

  • klasy są w przybliżeniu zbalansowane (np. 40/60, 50/50),
  • koszt FP i FN jest zbliżony – np. mylne etykiety produktów w katalogu,
  • model ma charakter „ogólnej klasyfikacji”, a nie detekcji rzadkich zdarzeń.

W takich scenariuszach accuracy bywa czytelniejsze dla osób nietechnicznych („model myli się w 15% przypadków”) niż np. F1. Dobrą praktyką jest jednak pokazywanie accuracy zawsze wraz z rozkładem klas, żeby uniknąć pozornie znakomitych wyników wynikających z samej nierównowagi danych.

Jak raportować accuracy, żeby nie wprowadzać w błąd

Żeby accuracy nie było mylące, przy raportowaniu warto dodać kilka elementów:

  • procentowy udział poszczególnych klas w zbiorze testowym,
  • prostą macierz pomyłek (choćby w formie tabeli),
  • co najmniej jedną metrykę skoncentrowaną na klasie pozytywnej (precision, recall, F1).

Dobry, praktyczny zwyczaj to pokazywanie tabeli:

MetrykaWartośćKomentarz
Accuracy[liczba]Ogólny odsetek poprawnych klasyfikacji
F1 (klasa pozytywna)[liczba]Jakość wykrywania zdarzeń pozytywnych
Udział klasy pozytywnej[procent]Rzadkość zdarzenia pozytywnego w danych testowych

Taki układ zmniejsza ryzyko, że ktoś „złapie” tylko accuracy i zignoruje, że model właściwie nie radzi sobie z klasą, na której najbardziej zależy.

Precision, Recall i F1 – metryki skoncentrowane na klasie pozytywnej

Definicje na tle macierzy pomyłek

Precision i recall opisują, jak model radzi sobie z wykrywaniem klasy pozytywnej. Ich definicje można od razu zapisać przez TP, FP i FN:

  • Precision (precyzja): jaki odsetek przykładów, które model oznaczył jako pozytywne, faktycznie był pozytywny.

    Precision = TP / (TP + FP)
  • Recall (czułość, sensitivity, TPR): jaki odsetek wszystkich rzeczywistych pozytywów model wykrył.

    Recall = TP / (TP + FN)

Precision skupia się więc na „czystości” przewidywań pozytywnych, recall – na tym, ile zdarzeń pozytywnych model przepuszcza. Zwykle nie da się mieć jednocześnie idealnie wysokiego precision i recall, dlatego wprowadza się metrykę łączącą:

F1 = 2 · (Precision · Recall) / (Precision + Recall)

F1 jest średnią harmoniczną precision i recall; jeśli któraś z nich jest bardzo niska, F1 „ciągnie w dół” i nie daje się łatwo zamaskować jednej fatalnej składowej drugą bardzo wysoką.

Intuicja precision: jak „czyste” są alarmy

Precision odpowiada na pytanie: „Jeśli model wykrył pozytyw, jak duże jest ryzyko, że to fałszywy alarm?”. W praktyce liczy się tam, gdzie obsługa pozytywów jest kosztowna:

  • zespół fraudowy musi ręcznie sprawdzać podejrzane transakcje,
  • konsultanci dzwonią do klientów oznaczonych jako „zagrożeni churnem”,
  • system bezpieczeństwa informuje o potencjalnym incydencie wymagającym interwencji.

Niskie precision oznacza, że większość alarmów będzie niepotrzebna. Im bardziej kosztowne (czasowo lub finansowo) jest obsłużenie pojedynczego „pozytywu”, tym bardziej problematyczne staje się niskie precision.

Intuicja recall: ile ważnych przypadków „przepuszczamy”

Recall opisuje, jaki procent wszystkich rzeczywistych pozytywów udało się wykryć. Odpowiada na pytanie: „Ile zdarzeń krytycznych przeszło niezauważone?”. Jest kluczowy tam, gdzie pominięcie zdarzenia pozytywnego ma poważne konsekwencje:

  • chory pacjent pozostaje bez diagnostyki,
  • poważna awaria nie zostaje zgłoszona,
  • poważny fraud nie jest zablokowany.

W tego typu zastosowaniach zespół często godzi się na większą liczbę fałszywych alarmów (niższe precision), byle recall był wysoki.

Trade-off między precision i recall

Większość modeli klasyfikacyjnych zwraca prawdopodobieństwo klasy pozytywnej, np. „0,82 szansy na fraud”. Żeby uzyskać klasy „0/1”, trzeba zastosować próg (np. 0,5). Zmiana tego progu bezpośrednio wpływa na precision i recall:

  • wyższy próg – model rzadziej oznacza coś jako pozytywne, co do zasady rośnie precision, spada recall,
  • niższy próg – model częściej oznacza pozytywy, zwykle rośnie recall, spada precision.

To nie jest wada metryk, tylko odzwierciedlenie realnego kompromisu: mniej przeoczonych zdarzeń oznacza zwykle więcej fałszywych alarmów. W praktyce model dobiera się często właśnie poprzez szukanie progu, przy którym precision i recall osiągają akceptowalny poziom w kontekście biznesowym.

F1 jako kompromis – kiedy ma sens, a kiedy nie

F1 jest wygodny, bo sprowadza dwie liczby (precision i recall) do jednej, co ułatwia sortowanie i porównywanie modeli. Typowe zastosowania:

  • porównywanie wielu modeli przy równoważnej wadze precyzji i czułości,
  • zadania z rzadką klasą, gdzie accuracy nie ma sensu, a zależy na jednym wskaźniku selekcyjnym,
  • problemy informacyjno-wyszukiwawcze (np. klasyfikacja dokumentów), gdzie koszt FP i FN jest podobny.

Trzeba jednak uważać: F1 domyślnie zakłada, że precision i recall są równie ważne. Jeżeli w danym biznesie koszt FN jest dużo wyższy niż FP (lub odwrotnie), lepiej rozważyć:

  • raportowanie precision i recall osobno,
  • użycie Fβ, gdzie β > 1 mocniej premiuje recall, a β < 1 – precision.

Przykład: w systemie medycznym często sensowniej jest maksymalizować F2 (większa waga recall), bo bardziej liczy się niewypuszczenie chorego bez diagnostyki niż ograniczenie liczby fałszywych alarmów.

Macro, micro i weighted F1 w problemach wieloklasowych

Przy więcej niż dwóch klasach definicję precision, recall i F1 można rozszerzyć na kilka sposobów. Najczęściej spotykane agregacje to:

  • micro – liczenie TP, FP, FN globalnie dla wszystkich klas naraz, a potem precision/recall/F1 z sum. W praktyce bliższe accuracy, mocno dociąża klasy częste.
  • macro – liczenie F1 osobno dla każdej klasy (one-vs-rest), a następnie prosta średnia. Każda klasa waży tyle samo, niezależnie od liczebności. Wrażliwe na jakość na rzadkich klasach.
  • weighted – jak macro, ale średnia ważona udziałem klasy w danych. Kompromis między „głosem klas rzadkich” a realnym rozkładem.

W problemach, w których istotne są także klasy rzadkie (np. rzadkie typy usterek w logach systemowych), macro-F1 będzie bardziej informacyjne niż micro-F1, bo nie pozwoli klasom częstym całkowicie zdominować wyniku.

Przykład z praktyki: e-mail spam vs nie-spam

Dla filtra spamu:

  • FP = ważny mail wpadł do spamu,
  • FN = spam trafił do skrzynki odbiorczej.

Jeżeli odbiorcy skrzynki rzadko przeglądają folder spam, koszt FP jest wysoki. Można wtedy preferować wyższe precision kosztem recall (lepiej przepuścić trochę spamu, niż chować ważne wiadomości). F1 będzie tu użyteczny jedynie wtedy, gdy zespół uzna koszty FP i FN za porównywalne – co w takim scenariuszu bywa dyskusyjne.

Drewniane klocki z napisem metric na stole na tle zieleni
Źródło: Pexels | Autor: Markus Winkler

ROC, AUC i krzywe Precision-Recall – spojrzenie na model bez progu

Dlaczego „bez progu” ma znaczenie

Ustawienie jednego, sztywnego progu (np. 0,5) bywa wygodne, ale nie zawsze jest najlepsze:

  • różne jednostki biznesowe mogą mieć różną tolerancję na FP i FN,
  • w czasie (np. sezonowo) akceptowalny poziom FP może się zmieniać,
  • system może służyć jako „silnik scoringowy”, a decyzje podejmują inne moduły.

ROC i Precision-Recall (PR) nie oceniają jednego progu, tylko cały ciąg kompromisów między wykrywaniem pozytywów a fałszywymi alarmami, dla wszystkich możliwych progów.

Krzywa ROC – TPR vs FPR

Krzywa ROC (Receiver Operating Characteristic) powstaje poprzez:

  1. posortowanie przykładów malejąco po przewidywanym prawdopodobieństwie klasy pozytywnej,
  2. przechodzenie po kolejnych możliwych progach,
  3. wyliczanie par (FPR, TPR) dla każdego progu:
    • TPR (Recall) = TP / (TP + FN),
    • FPR = FP / (FP + TN).

Na osi X znajduje się FPR, na osi Y – TPR. Model idealny szybko „wchodzi” do lewego górnego rogu (wysoki TPR przy niskim FPR). Model losowy tworzy przekątną od (0,0) do (1,1).

AUC ROC – interpretacja pola pod krzywą

AUC ROC (Area Under the ROC Curve) to liczbowy wskaźnik jakości krzywej ROC, od 0 do 1:

  • 0,5 – model losowy,
  • >0,7 – zwykle „coś już umie”,
  • >0,8 – najczęściej dobry sygnał,
  • >0,9 – w wielu zadaniach bardzo dobry wynik (choć wszystko zależy od domeny).

Jedna z najczęściej używanych interpretacji: AUC ROC to prawdopodobieństwo, że model przypisze wyższe przewidywane prawdopodobieństwo losowo wybranemu pozytywowi niż losowo wybranemu negatywowi. Ocena jest więc niezależna od konkretnego progu – model jest traktowany jako ranking.

Dlaczego AUC ROC bywa mylący przy silnej nierównowadze klas

Przy bardzo rzadkiej klasie pozytywnej FPR może pozostać niski nawet przy znaczącej liczbie FP, bo FP liczymy względem dużej liczby TN. W efekcie:

  • krzywa ROC może wyglądać dobrze,
  • AUC ROC może być wysokie,
  • a mimo to w praktyce liczba FP będzie nieakceptowalna przy rozsądnym poziomie recall.

W systemie fraudowym nawet niewielki FPR (np. przy setkach tysięcy transakcji dziennie) może oznaczać lawinę fałszywych alarmów – AUC ROC tego bezpośrednio nie pokaże. Dlatego przy silnie niezbalansowanych danych warto przejść do krzywych Precision-Recall.

Krzywa Precision-Recall – skupienie na klasie pozytywnej

Krzywa Precision-Recall (PR) przedstawia:

  • na osi X: recall (TPR),
  • na osi Y: precision.

Każdy punkt na krzywej odpowiada innemu progowi. PR pokazuje więc, jak zmienia się precision modelu, gdy zwiększamy recall. W porównaniu z ROC:

  • ignoruje TN – koncentruje się wyłącznie na relacji TP do FP i FN,
  • dużo lepiej pokazuje sytuację modeli dla rzadkich klas,
  • linie odniesienia (baseline) zależą bezpośrednio od udziału klasy pozytywnej.

AUC PR – kiedy jest bardziej sensowny niż AUC ROC

Pole pod krzywą Precision-Recall (AUC PR, nazywane też average precision) jest szczególnie sensowne, gdy:

  • udział klasy pozytywnej jest niewielki,
  • skupiamy się na jakości „góry rankingu” (np. top-N klientów do kontaktu),
  • TN są mniej istotne biznesowo niż FP i FN.

Baseline AUC PR (dla modelu losowego) jest równy udziałowi klasy pozytywnej w danych. Jeżeli pozytywów jest np. 1% – losowy model będzie mieć AUC PR w okolicach 0,01. Jeden model o AUC ROC ~0,9 i AUC PR niewiele powyżej baseline może być w praktyce dużo gorszy niż inny model o nieco niższym AUC ROC, ale znacząco wyższym AUC PR.

Jak używać ROC i PR w praktyce decyzyjnej

W praktyce warto postępować następująco:

  • dla danych z grubsza zbalansowanych – zacząć od AUC ROC,
  • dla silnie niezbalansowanych – opierać się przede wszystkim na krzywych PR i AUC PR,
  • dla finalnego wdrożenia – oprócz globalnych AUC, wybrać konkretne punkty na krzywych, odpowiadające scenariuszom biznesowym (np. „recall ≥ 0,9 przy precision ≥ 0,3”).

Często w projektach analitycznych zespół biznesowy wskazuje akceptowalne progi na precision lub recall, a zadaniem osoby od ML jest sprawdzenie, czy na krzywej da się znaleźć punkt spełniający te kryteria (i przy jakim FPR / liczbie przypadków dziennie).

Dobór metryk do typu zadania i danych – scenariusze praktyczne

Scenariusz 1: zbalansowana klasyfikacja wieloklasowa

Przykład: klasyfikacja dokumentów do kilku równoważnych tematów (prawo, finanse, technologia, medycyna) o podobnej liczebności.

Metryki:

  • główny wskaźnik: accuracy lub micro-F1,
  • dodatkowo: macro-F1, aby sprawdzić, czy model nie zaniedbuje którejś z klas.

Jeżeli w zespole liczy się interpretowalność dla osób nietechnicznych, dobrym kompromisem jest raportowanie accuracy oraz krótkiej tabeli z F1 dla każdej klasy.

Scenariusz 2: rzadkie zdarzenia o wysokim koszcie FN (medycyna, bezpieczeństwo)

Przykład: wykrywanie zmian podejrzanych o nowotwór na zdjęciach medycznych.

Priorytetem jest ograniczenie FN. Metryki:

  • Recall (TPR) jako główny wskaźnik jakości,
  • F2-score jako kompromisowa miara łączna (większa waga recall),
  • krzywa PR i precision przy wybranych poziomach recall (np. recall ≥ 0,95).

Scenariusz 3: rzadkie zdarzenia o wysokim koszcie FP (marketing, obsługa klienta)

Przykład: system wskazujący klientów „wysokiego priorytetu” do kontaktu telefonicznego przez drogi zespół sprzedaży lub obsługi.

Tutaj najdroższe są FP – każdy błędnie wskazany klient to zmarnowany czas i budżet. Metryki koncentrują się więc na „czystości” listy:

  • precision jako główny wskaźnik jakości,
  • F0,5-score, jeżeli potrzebna jest pojedyncza liczba, ale z większą wagą precision,
  • krzywa PR i precision dla kilku poziomów recall (np. ile precision mamy przy „pokryciu” 5%, 10%, 20% bazy).

W takich zadaniach accuracy i AUC ROC wyglądają zwykle dobrze, ale niewiele mówią o tym, czy zespół sprzedaży będzie miał sensowną listę do pracy. W praktyce częściej sprawdza się analiza „top-N”: precision wśród N najwyżej ocenionych przypadków (np. top 1000 klientów).

Scenariusz 4: system antyfraudowy i detekcja anomalii

Przykład: wykrywanie transakcji płatniczych o wysokim ryzyku oszustwa przy bardzo rzadkich fraudach.

Konsekwencje FP (blokada uczciwej transakcji) są uciążliwe, ale zwykle mniej kosztowne niż przeoczenie fraudu (FN). Do tego dane są silnie niezbalansowane. Zwykle przyjmuje się:

  • AUC PR jako ogólny wskaźnik porównawczy modeli,
  • recall przy kilku poziomach dopuszczalnego FPR (np. ile fraudów wykrywamy przy 0,1% fałszywych alarmów),
  • precision w „górze rankingu” (np. wśród przypadków kierowanych do ręcznej weryfikacji).

Bywa, że model działa dwustopniowo: najpierw ustawia się niski próg dla „miękkich” działań (dodatkowa autoryzacja, SMS), a wyższy próg dla twardych blokad. Każdy z tych przypadków powinien mieć własny zestaw docelowych metryk (np. różne dopuszczalne FPR).

Scenariusz 5: klasyfikacja tekstu w wyszukiwarce lub systemie rekomendacji

Przykład: klasyfikacja zapytań użytkownika do tematów, aby dopasować reguły wyszukiwania lub rekomendacje.

Użytkownik widzi końcowy wynik (lista dokumentów, rekomendowane produkty), nie same etykiety. Często:

  • zyskiem jest poprawa jakości „top” wyników,
  • błędy na długim ogonie klas lub w rzadkich sytuacjach są akceptowalne.

W takim scenariuszu same accuracy czy macro-F1 to tylko punkt wyjścia. W praktyce kluczowe może być:

  • precision@k – odsetek właściwych wyników w pierwszych k pozycjach,
  • recall@k – odsetek „dobrych” elementów, które zmieściły się w pierwszych k,
  • F1 liczony tylko wśród najpopularniejszych klas, jeżeli to one napędzają większość ruchu.

Jeżeli jednak system klasyfikacji jest wejściem do innych procesów (np. doboru workflow prawniczego), znów wraca klasyczny zestaw: precision, recall i F1 dla poszczególnych klas, zgodnie z ich kosztem.

Scenariusz 6: moderacja treści i filtrowanie ryzyka prawnego

Przykład: system automatycznej moderacji treści (mowa nienawiści, treści nieletnich, dane wrażliwe), który ma blokować publikację lub przekazać przypadek do ręcznej oceny.

Koszty FP i FN zależą od kategorii:

  • fałszywie pozytywne blokowanie „zwykłej” treści jest niekomfortowe dla użytkownika,
  • fałszywie negatywne przepuszczenie treści o wysokim ryzyku prawnym może być bardzo kosztowne.

Często klasy dzieli się na poziomy ryzyka (np. „wysokie”, „średnie”, „niskie”) i osobno projektuje metryki:

  • dla kategorii wysokiego ryzyka – nacisk na recall i wyniki przy bardzo wysokich recall (np. ≥ 0,98),
  • dla lekkich naruszeń – kompromis: F1 lub F0,5, aby nie generować powodzi zgłoszeń.

W praktyce zespół prawny może wprost zdefiniować wymagany poziom recall: np. „co do zasady nie akceptujemy rozwiązania, które wykrywa mniej niż 99% treści z kategorii X”. Zadaniem osoby od ML jest wtedy pokazanie, czy i przy jakim poziomie FP taki punkt na krzywej PR w ogóle istnieje.

Laptop z wykresem analitycznym na ekranie w nowoczesnym biurze
Źródło: Pexels | Autor: Negative Space

Progowanie predykcji – jak wybór progu zmienia metryki i biznes

Domyślny próg 0,5 – kiedy ma sens, a kiedy nie

W klasycznej binarnej klasyfikacji wiele bibliotek przyjmuje 0,5 jako próg domyślny: powyżej – klasa pozytywna, poniżej – negatywna. Taki wybór jest naturalny, gdy:

  • model jest mniej więcej dobrze skalibrowany,
  • koszty FP i FN są zbliżone,
  • udział klas jest z grubsza zbalansowany.

Jeżeli którykolwiek z tych warunków przestaje być spełniony, sztywny próg 0,5 staje się czysto techniczną konwencją, a nie decyzją biznesową. W scenariuszu medycznym lub fraudowym próg bywa znacznie niższy, w systemach marketingowych – często znacznie wyższy.

Zależność progu od stosunku kosztów FP i FN

Logiczne ustawienie progu można uzyskać, patrząc na koszt błędów. Jeżeli:

  • koszt FN jest dużo wyższy niż koszt FP – próg zwykle obniżamy, akceptując więcej fałszywych alarmów w zamian za wyższy recall,
  • koszt FP jest dużo wyższy – próg podnosimy, zwiększając precision kosztem recall.

W prostym ujęciu decyzyjnym, przy dobrym skalibrowaniu modelu, optymalny próg można powiązać ze stosunkiem kosztów i prawdopodobieństw klas. W praktyce wiele zespołów robi to w sposób przybliżony: testuje kilka progów i ocenia łączny koszt na danych walidacyjnych, korzystając z wewnętrznej „tabeli kosztów”.

Krzywa metryki w funkcji progu

Pomocne jest traktowanie progu jako parametru i oglądanie, jak zmieniają się metryki:

  • wykres precision(prog),
  • wykres recall(prog),
  • wykres F1(prog) lub Fβ(prog).

Takie wykresy od razu pokazują, gdzie znajdują się „rozsądne” zakresy. Zamiast szukać jednego „magicznego” progu, można zdefiniować pasmo: np. „powyżej 0,7 precision rośnie tylko minimalnie, więc nie warto dalej podnosić progu”.

Progowanie z limitem wolumenu – selekcja top-N

W wielu systemach to nie próg prawdopodobieństwa jest głównym ograniczeniem, lecz pojemność operacyjna. Typowy przykład:

  • zespół windykacji może obsłużyć dziennie do 500 spraw,
  • system scoringowy wskazuje ~10 000 potencjalnie ryzykownych przypadków.

Zamiast szukać progu „na ślepo”, ustala się top-N: sortuje się przypadki po wyniku modelu i wybiera pierwsze N. W metrykach:

  • bardziej naturalne stają się precision@N oraz recall przy tym N,
  • próg wynika wtedy z miejsca „odcięcia” listy, a nie odwrotnie.

Z czasem, gdy zmienia się wolumen lub zasoby, N także może być regulowane. Dlatego w raportach z walidacji przydatna jest tabela precision/recall dla różnych wartości N, a nie wyłącznie dla jednego progu.

Różne progi dla różnych segmentów

Gdy model działa na heterogenicznej populacji (np. różne kraje, kanały sprzedaży, profile klientów), wprowadzanie jednego globalnego progu prowadzi do kompromisów niekorzystnych dla niektórych grup. Rozwiązaniem są:

  • osobne progi dla segmentów (np. osobno dla klientów indywidualnych i firm),
  • osobne targety metryk na segment (np. wyższy wymagany recall dla krajów o surowszych regulacjach).

Warunkiem jest jednak sprawdzenie, czy model ma podobną jakość w każdym segmencie. Jeżeli w jednym z nich metryki są znacząco słabsze, samo przesuwanie progu może nie wystarczyć – potrzebny bywa osobny model lub dodatkowe cechy.

Kalibracja modelu a sensowność progów

Część algorytmów (np. drzewiaste, gradient boosting) daje wyniki, które nie są „prawdziwymi” prawdopodobieństwami. Przy braku kalibracji:

  • próg 0,5 nie ma interpretacji probabilistycznej,
  • porównywanie progów między modelami staje się mylące.

Metody typu Platt scaling czy isotonic regression pozwalają skalibrować wyjście modelu. Wtedy:

  • predykcja 0,8 oznacza „około 80% przypadków z takim wynikiem faktycznie jest pozytywna”,
  • ustalanie progu na podstawie kosztów błędów i limitów biznesowych jest bardziej sensowne.

Jeżeli nie ma czasu na formalną kalibrację, minimum stanowi choćby empiryczna analiza: podział predykcji na przedziały (np. 0–0,1, 0,1–0,2 itd.) i porównanie przewidywanych wartości z faktycznym odsetkiem pozytywów.

Metryki w procesie eksperymentów i walidacji – jak używać ich poprawnie

Rozdział zbiorów: trenowanie, walidacja, test

Metryka ma sens tylko wtedy, gdy jest liczona na danych, które model „widzi po raz pierwszy”. Co do zasady stosuje się:

  • zbiór treningowy – do uczenia parametrów modelu,
  • zbiór walidacyjny – do strojenia hiperparametrów i wyboru architektury,
  • zbiór testowy – do finalnej, jednorazowej oceny jakości.

Mieszanie tych ról (np. wielokrotne „dotykanie” zbioru testowego przy doborze modelu) prowadzi do zawyżania metryk i złudzenia jakości. W praktyce, zwłaszcza przy mniejszych zbiorach, stosuje się walidację krzyżową, a zestaw testowy zachowuje się na sam koniec.

Walidacja krzyżowa i raportowanie rozrzutu

Jedna liczba F1 czy AUC bywa złudnie precyzyjna. W ramach walidacji krzyżowej:

  • dane dzieli się na k foldów (np. 5 lub 10),
  • dla każdego folda uczy się model i liczy metryki na foldzie walidacyjnym,
  • raportuje się średnią i odchylenie standardowe.

Rozrzut metryk między foldami pokazuje, jak wrażliwy jest model na losowy podział danych. Jeżeli AUC ROC waha się między 0,7 a 0,9, komunikowanie jedynie „AUC = 0,8” ukrywa istotną niepewność. W zadaniach o wysokiej odpowiedzialności (medycyna, prawo) takie wahania powinny być omawiane z interesariuszami wprost.

Straty optymalizowane podczas treningu a metryki raportowane

Modele nadzorowane optymalizują zwykle funkcję straty (np. log-loss), a nie bezpośrednio F1, accuracy czy AUC. Strata:

  • jest gładka i lepiej nadaje się do uczenia gradientowego,
  • często „karze” duże błędne pewności mocniej niż małe.

Ważne jest, aby rozumieć relację między stratą a metryką, na której zależy biznesowi. Przykładowo:

  • trening na log-loss może poprawiać kalibrację i AUC ROC, ale niekoniecznie maksymalizuje F1,
  • model z niższym log-loss bywa gorszy pod względem recall przy konkretnym progu.

Dlatego przy porównywaniu modeli warto patrzeć równolegle na metrykę treningową (stratę) oraz docelowe metryki biznesowe na zbiorze walidacyjnym.

Istotność statystyczna różnic metryk

W dużych systemach nawet niewielka poprawa AUC ROC (np. z 0,86 do 0,87) może oznaczać wymierny zysk. Problem w tym, że część różnic wynika po prostu z losowości podziału danych czy inicjalizacji modelu.

W zastosowaniach krytycznych dobrze jest:

  • powtórzyć trening i walidację kilka razy z różnymi seedami losowymi,
  • porównać rozkłady metryk dla modeli, a nie tylko pojedyncze liczby,
  • w miarę możliwości użyć testów statystycznych (np. testu DeLonga dla AUC ROC) lub prostszych procedur bootstrapowych.

W środowiskach produktowych uzupełnieniem jest test A/B na ruchu produkcyjnym, gdzie „metryką główną” może być np. liczba fraudów na milion transakcji czy liczba reklamacji użytkowników.