Precision-Recall Curve

Wprowadzenie

Precision-Recall Curve (PR Curve) to jedna z najważniejszych metryk służących do oceny jakości modeli klasyfikacji binarnej. W przeciwieństwie do ROC-AUC jest szczególnie przydatna, gdy klasy są mocno niezbalansowane (np. 1% pozytywnych przykładów).

Podstawowe definicje

  • Precision (Precyzja) = TP / (TP + FP) – ile spośród wskazanych jako pozytywne jest rzeczywiście pozytywnych
  • Recall (Czułość) = TP / (TP + FN) – ile rzeczywistych pozytywnych zostało wykrytych

Jak działa Precision-Recall Curve?

Krzywa PR pokazuje zależność między Precision a Recall przy różnych progach decyzyjnych modelu. Każdemu progowi odpowiada inny punkt na krzywej.

Average Precision (AP) lub PR-AUC (Area Under the PR Curve) to pojedyncza liczba podsumowująca jakość modelu – im wyższa, tym lepszy model.

Precision-Recall vs ROC-AUC

  • ROC-AUC – dobrze działa przy zbalansowanych danych
  • PR Curve – znacznie lepsza przy niezbalansowanych klasach (gdy negatywnych przykładów jest bardzo dużo)
  • Przy silnej niezbalansowaniu ROC-AUC może dawać optymistyczne, mylące wyniki, podczas gdy PR-AUC pozostaje realistyczna

Zalety metryki Precision-Recall

  • Bardzo dobra przy problemach z imbalanced data (fraud detection, diagnostyka medyczna, wykrywanie rzadkich zdarzeń)
  • Bezpośrednio pokazuje kompromis między precyzją a czułością
  • Łatwo interpretowalna w kontekście biznesowym („ile fałszywych alarmów jestem w stanie zaakceptować”)
  • Average Precision jest standardem w wielu benchmarkach (np. COCO detection, Pascal VOC)

Kiedy używać PR Curve?

  • Wykrywanie fraudów bankowych
  • Diagnoza chorób (gdzie choroba jest rzadka)
  • Wykrywanie obiektów na obrazach
  • Klasyfikacja spamu
  • Wszelkie zadania, gdzie klasa pozytywna stanowi mniej niż 10–20% danych

Jak interpretować krzywą?

  • Krzywa bliżej prawego górnego rogu = lepszy model
  • Wysoka Precision przy wysokim Recall = doskonały model
  • Płaska krzywa na niskim poziomie Precision = słaby model

Aktualny status (2026)

Precision-Recall Curve pozostaje standardem oceny modeli w zadaniach z niezbalansowanymi danymi. Nowoczesne frameworki (scikit-learn, TorchMetrics, TensorFlow) oferują bardzo wydajne implementacje. W erze dużych modeli językowych i multimodalnych metryka ta jest również używana do oceny retrieverów w systemach RAG oraz detekcji halucynacji.