Jak ocenić jakość i poprawność modeli klasyfikacyjnych? Część 2 – Liczbowe wskaźniki jakości
W tej części tutorialu omówimy liczbowe wskaźniki jakości i pokażemy, jak wybrać odpowiedni wskaźnik, wykorzystując jako przykład analizę odejścia klientów (churn analysis).
Podstawowe liczbowe wskaźniki jakości
W pierwszej części tutorialu przedstawiliśmy podstawowe oznaczenia dla liczbowych wskaźników jakości modeli klasyfikacyjnych. Przypominamy, że są to:
- TP – True Positive – liczba obserwacji poprawnie zaklasyfikowanych do klasy pozytywnej. Przykład: nasz model się nie pomylił i klienci, którzy zrezygnowali z oferty firmy zostali przypisani do klasy „nielojalni”
- TN – True Negative – liczba obserwacji poprawnie zaklasyfikowanych do klasy negatywnej. Przykład: nasz model się nie pomylił i klienci, którzy dalej korzystają z oferty firmy zostali przypisani do klasy „lojalni”
- FP – False Positive – liczba obserwacji zaklasyfikowanych do klasy pozytywnej podczas, gdy w rzeczywistości pochodzą z klasy negatywnej. Przykład: niestety nasz model nie jest idealny i popełnił błąd – klienci, którzy nadal korzystają z oferty firmy zostali przypisani do klasy „nielojalni”
- FN – False Negative – liczba obserwacji zaklasyfikowanych do klasy negatywnej podczas, gdy w rzeczywistości pochodzą z klasy pozytywnej. Przykład: niestety nasz model nie jest idealny i popełnił błąd – klienci, którzy zrezygnowali z oferty firmy zostali przypisani do klasy „lojalni”.
Pochodne wskaźniki jakości
Istnieją też wersje pochodne wskaźników i na nich chcielibyśmy się teraz skupić:
- TPR (True Positive Rate) – określa zdolność klasyfikatora do wykrywania klasy pozytywnej (stanu patologicznego)
TPR = TP / (TP + FN)
- TNR (True Negative Rate) – określa zdolność klasyfikatora do wykrywania klasy negatywnej (stanu normalnego)
TNR = TN / (TN + FP)
- FPR (False Positive Rate) – określa, jak często klasyfikator popełnia błąd, klasyfikując stan normalny jako patologiczny
FPR = FP / (FP + TN)
- FNR (False Negative Rate) – określa, jak często klasyfikator popełnia błąd, klasyfikując stan patologiczny jako normalny
FNR = FN / (FN + TP)
- SE (sensitivity, czułość) – określa zdolność klasyfikatora do wykrywania klasy pozytywnej (stanu patologicznego)
SE = TP / (TP + FN)
- SP (specificity, specyficzność) – określa zdolność klasyfikatora do wykrywania klasy negatywnej (stanu normalnego)
SP = TN / (TN + FP)
Przy czym, istnieją takie zależności:
SE = TPR 1 – SE = FNR
SP = TNR 1-SP = FPR
- ACC (Total Accuracy) – całkowita sprawność klasyfikatora, określa prawdopodobieństwo poprawnej klasyfikacji, czyli stosunek poprawnych klasyfikacji do wszystkich klasyfikacji.
ACC = (TP + TN) / (TP + TN + FP + FN)
Odpowiedni wybór wskaźnika – przykład
Istnieje wiele miar oceniających jakość klasyfikacji, ale trzeba pamiętać, że ważny jest odpowiedni wybór wskaźnika.
Przykład
Przeprowadzając analizę churnu, dysponujemy danymi dwuklasowymi (churn, brak churnu) o 100 obserwacjach:
- 90 obserwacji należy do klasy o etykiecie 0 (klasa pozytywna) – to są klienci, którzy przestali korzystać z naszych usług/produktów,
- 10 obserwacji należy do klasy o etykiecie 1 (klasa negatywna) – to są klienci, którzy nadal korzystają z naszych usług/produktów.
Dla pewnego klasyfikatora otrzymaliśmy:
TP = 85 (85 osób, które odeszły zostało zakwalifikowanych jako churn)
TN = 1 (1 osoba, która nie odeszła, została zakwalifikowana jako brak churnu)
FP = 9 (9 osób, które nie odeszły, zostały zakwalifikowane jako churn)
FN = 5 (5 osób, które odeszły, została zakwalifikowana jako brak churnu)
Sumując powyższe przypadki mamy 100 obserwacji:
TP + TN + FP + FN = 100
Teraz wyliczmy całkowitą sprawność klasyfikatora:
ACC = (85+1)/100 = 0,86
86 przypadków na 100 zostało poprawnie zakwalifikowanych, czyli całkiem nieźle.
Ale przyjrzyjmy się teraz innemu wskaźnikowi – TNR, który określa zdolność klasyfikatora do wykrywania klasy negatywnej (w naszym przypadku to brak churnu):
TNR = 1/10 =0,1
Raptem 1 obserwacja z klasy negatywnej (brak churnu) została poprawnie sklasyfikowana (czyli 1 osoba, która nie odeszła została sklasyfikowana jako brak churnu, a pozostałe osoby, które nie odeszły zostały sklasyfikowane jako churn!)
Wniosek: na podstawie miary ACC nie można wywnioskować o stopniu rozpoznawalności poszczególnych klas.