Jednym z najbardziej typowych zadań nauczania maszynowego, są zadania klasyfikacyjne. Może się wydawać, że ocena funkcjonalności takiego modelu jest stosunkowo prosta. Przypuśćmy, że mamy model, który na podstawie danych historycznych szacuje czy dany klient spłaci kredyt. Ocenie poddajemy 100 klientów, a nasz model nie pomylił się w 93 przypadkach. Wydaje się, że to dobry wynik. Czy aby na pewno? Czy powinniśmy uznać, że model z dokładnością 93% jest zadawalający?
To zależy. W dzisiejszym wpisie pokażemy w jaki sposób najlepiej oceniać model predykcyjny.
Wróćmy zatem do naszego przykładu. Model pomylił się w zaledwie 7 przypadkach. Ale jego jakość zależy od tego, jakie to były przypadki. Załóżmy na przykład, że na tych 100 klientów tylko 10 nie spłaci kredytu. W takim wypadku możliwe są 2 scenariusze:
W dość oczywisty sposób, drugi scenariusz jest znacznie bardziej kosztowny dla banku. Ponieśliśmy stratę, bo przyznaliśmy kredyt osobie, która go nie spłaciła. By łatwiej wytłumaczyć cały proces, należy wyróżnić dwie kategorie instancji:
Istnieją zatem dwie kategorie błędu. Uznanie postive’a za negative i uznanie negative’a za positive. Tak samo istnieją dwa przypadki prawidłowej diagnozy. Prawidłową klasyfikację określa się mianem true, a niepoprawną false. W ten sposób powstają cztery warianty które, razem nazywamy macierzą konfuzji (ang. Confusion Matrix). Wyobraźmy sobie taką sytuację. Mamy 100 klientów. 10 osób z tych 100 nie spłaciło kredytu (positives), przy czym:
Pozostałe 90 osób spłaciło kredyt (negatives), przy czym:
Zestawiając te informacje w tabelce otrzymujemy macierz konfuzji. Jeżeli zsumujemy te wszystkie wypadki 8+2+85+5 wychodzi nam 100 klientów. Taki sposób oceny jest bardziej miarodajny i pozwala oceniać model pod kątem konkretnych celów.