04 · Ocena · 5 min czytania · aktualizacja
Jak wybrać metrykę do oceny modelu uczenia maszynowego?
W skrócie
Metrykę dobiera się do decyzji: etykieta, ranking czy prawdopodobieństwo, koszty błędów i proporcje klas. Inna metryka to często inny zwycięski model.
Co to jest
Metrykę wybiera się od końca: najpierw ustal, jaką decyzję podejmie się na podstawie modelu i ile kosztują poszczególne błędy, a potem dobierz miarę, która te koszty odzwierciedla — trafność lub koszt dla etykiet, ROC AUC lub PR AUC dla rankingu, log loss lub wynik Briera dla prawdopodobieństw, MAE lub RMSE dla wartości liczbowych. Wybór metryki nie jest formalnością: na tych samych danych różne metryki wskazują różne modele jako najlepsze.
Pomocne są trzy pytania. Co model oddaje dalej: etykietę („oszustwo / nie”), kolejkę („sprawdź najpierw te”) czy liczbę („prawdopodobieństwo 0,07”, „cena 312 tys.”)? Czy błędy w obie strony kosztują tyle samo? Jakie są proporcje klas tam, gdzie model będzie działał?
Warto też rozdzielić dwie role. Metryka optymalizowana (funkcja straty, zwykle log loss albo błąd kwadratowy) musi być gładka i dobrze zachowywać się przy uczeniu. Metryka raportowana ma odpowiadać na pytanie biznesowe i nie musi być różniczkowalna.
Mechanizm — dlaczego tak działa
Każda metryka to ukryta funkcja kosztu. Trafność zakłada równe koszty błędów i proporcje klas takie jak w teście. Zbalansowana trafność — że błąd w rzadkiej klasie jest tyle razy droższy, ile razy klasa jest rzadsza. F1 — że prawdziwe negatywy nic nie znaczą. ROC AUC liczy jakość uporządkowania wszystkich par, PR AUC skupia się na górze rankingu. Wybierając metrykę, przyjmujesz te założenia, czy chcesz, czy nie.
Metryki progowe i bezprogowe. Trafność, precyzja, recall i F1 wymagają zamiany prawdopodobieństw na etykiety, więc mieszają jakość modelu z wyborem progu. ROC AUC i PR AUC oceniają sam ranking. Log loss i wynik Briera oceniają prawdopodobieństwa — to tzw. właściwe reguły punktacji (proper scoring rules): oczekiwany wynik jest najlepszy, gdy model podaje prawdziwe prawdopodobieństwa (Gneiting i Raftery, 2007). Tylko one nagradzają kalibrację.
Regresja. RMSE (pierwiastek z błędu średniokwadratowego) jest minimalizowany przez średnią warunkową i mocno karze duże pomyłki. MAE jest minimalizowany przez medianę i traktuje wszystkie pomyłki liniowo, więc jest odporny na wartości odstające. MAPE mierzy błąd względny, ale eksploduje przy wartościach bliskich zera i asymetrycznie traktuje zawyżanie i zaniżanie (Hyndman i Koehler, 2006). R² mówi, ile lepiej od przewidywania stałą średnią.
Prawo Goodharta. Metryka optymalizowana zbyt mocno przestaje mierzyć to, co miała mierzyć. Dlatego obok metryki głównej warto śledzić 1–2 metryki kontrolne: np. przy optymalizacji recall — precyzję, przy optymalizacji ROC AUC — kalibrację.
Na przykładzie
Titanic, osiem klasyfikatorów, przewidywania z walidacji krzyżowej (5 części, 5 powtórzeń, próg 0,5). Wartości metryk i miejsce w rankingu modeli (1 = najlepszy z ośmiu; w tabeli sześć z nich):
| Model | Trafność | Recall | ROC AUC | Log loss | Wynik Briera |
|---|---|---|---|---|---|
Las losowy, min_samples_leaf=5 | 0,828 (1) | 0,688 (6) | 0,868 (1) | 0,421 (2) | 0,131 (2) |
| SVM (RBF) | 0,824 (2) | 0,675 (8) | 0,836 (7) | 0,444 (3) | 0,138 (4) |
| Gradient boosting | 0,819 (3) | 0,694 (4) | 0,866 (2) | 0,416 (1) | 0,128 (1) |
| Drzewo, głębokość 4 | 0,814 (4) | 0,678 (7) | 0,843 (6) | 0,563 (6) | 0,137 (3) |
| Las losowy, domyślny | 0,811 (5) | 0,727 (1) | 0,862 (3) | 0,523 (5) | 0,139 (6) |
| Regresja logistyczna | 0,794 (7) | 0,705 (2) | 0,847 (5) | 0,453 (4) | 0,144 (7) |
SVM jest drugi pod względem trafności i siódmy pod względem ROC AUC: dobrze stawia granicę przy progu 0,5, ale słabo porządkuje przypadki daleko od niej. Domyślny las losowy ma najwyższy recall i dopiero piątą trafność; jego prawdopodobieństwa są zbyt skrajne (log loss 0,523), co naprawia min_samples_leaf=5. Regresja logistyczna jest przedostatnia w trafności, ale druga w recall i czwarta w log loss. Gdyby celem były wiarygodne prawdopodobieństwa, wybralibyśmy gradient boosting; gdyby priorytetem było wykrycie jak największej liczby ocalałych — domyślny las.
W regresji (Diabetes, walidacja 5 × 5) metryki zgadzały się częściej: zwykła regresja liniowa miała najlepsze MAE (44,6) i RMSE (55,0). Ale w medianie błędu bezwzględnego wygrała regresja medianowa (39,0 wobec 39,8) — model optymalizujący dokładnie tę miarę.
Dane: Titanic Diabetes (progresja cukrzycy)
W praktyce
Reguła wyboru:
- Decyzja tak/nie, znane koszty → koszt oczekiwany z
confusion_matrixi dobór progu (TunedThresholdClassifierCV). - Decyzja tak/nie, koszty nieznane, klasy niezbalansowane →
balanced_accuracyalbo para precyzja + recall; zawsze z wynikiemDummyClassifier. - Kolejka priorytetów lub budżet kontroli →
roc_auc(cały ranking) alboaverage_precisioni precyzja w top-k (rzadka klasa). - Prawdopodobieństwa idą dalej (ryzyko, wycena, łączenie modeli) →
neg_log_losslubneg_brier_scoreplusCalibrationDisplay.from_predictions(y, p). - Regresja →
neg_root_mean_squared_error, gdy duże błędy są szczególnie groźne;neg_mean_absolute_error, gdy liczy się typowy błąd i są wartości odstające; MAPE tylko dla celów wyraźnie dodatnich. - Kilka metryk naraz:
cross_validate(model, X, y, cv=cv, scoring=["roc_auc", "neg_log_loss", "balanced_accuracy"])— wybierz jedną główną przed eksperymentami, resztę traktuj jako kontrolne.
Najczęstsze pytania
- Dlaczego nie wystarczy trafność?
- Bo zakłada równe koszty błędów i zbalansowane klasy, a przy rzadkiej klasie model trywialny osiąga wysoką trafność. Trafność ma sens jako metryka główna tylko wtedy, gdy oba założenia są w przybliżeniu prawdziwe.
- Czy metryka do strojenia musi być taka sama jak metryka raportowana?
- Najlepiej, żeby była jak najbliższa. Trening zwykle minimalizuje log loss lub błąd kwadratowy, bo są gładkie, ale hiperparametry, próg i wybór modelu warto robić na metryce docelowej. Rozjazd między nimi to częsta przyczyna rozczarowań po wdrożeniu.
- Co zrobić, gdy interesariusze chcą jednej liczby?
- Daj im metrykę w jednostkach decyzji: złotówki, liczbę wykrytych przypadków na 100 kontroli, liczbę fałszywych alarmów dziennie. Taka liczba jest zrozumiała i od razu pokazuje kompromis, który F1 czy AUC ukrywają.
Źródła
- Gneiting T., Raftery A. E. „Strictly Proper Scoring Rules, Prediction, and Estimation”, Journal of the American Statistical Association 102(477), 2007, s. 359–378.
- Ferri C., Hernández-Orallo J., Modroiu R. „An experimental comparison of performance measures for classification”, Pattern Recognition Letters 30(1), 2009, s. 27–38.
- Hyndman R. J., Koehler A. B. „Another look at measures of forecast accuracy”, International Journal of Forecasting 22(4), 2006, s. 679–688.
- Hand D. J. „Measuring classifier performance: a coherent alternative to the area under the ROC curve”, Machine Learning 77, 2009, s. 103–123.
- Dokumentacja scikit-learn, „Metrics and scoring: quantifying the quality of predictions”: https://scikit-learn.org/stable/modules/model_evaluation.html