Jak zmierzyć wydajność klasyfikatora, gdy blisko 100% etykiet klasy należy do jednej klasy?

9

W moich danych mam zmienną klasy, oznaczoną jako C. Wartościami tej klasy są0,1(dwójkowy). Prawie wszystkie obserwacjeCwynoszą 0 (blisko 100%, a dokładniej 97%). Chciałbym przeprowadzić test „wydajności” na różnych modelach klasyfikacyjnych (może to być dokładność). Obawiam się, że jeśli mam model klasyfikacji, który zawsze klasyfikuje jakąkolwiek obserwację do klasy 0, wówczas model ten będzie 97% dokładny (chociaż nigdy nie bierze pod uwagę żadnych innych zmiennych).

Czy istnieją dobrze znane testy wydajności modeli klasyfikacyjnych na danych dotyczących bardzo rzadkich zdarzeń?

Jane Wayne
źródło

Odpowiedzi:

3

Przyszło mi do głowy kilka możliwości.

Spojrzenie na ogólny wskaźnik trafień zwykle nie jest zbyt dobrym pomysłem, ponieważ będzie zależeć od składu zestawu testowego, jeśli wyniki dla różnych klas będą się różnić. Przynajmniej powinieneś określić (i uzasadnić) względną częstotliwość klas w danych testowych, aby uzyskać znaczącą wartość.

Po drugie, jak już powiedział @Shorack, określ, jakie rodzaje błędów są ważne. Często klasyfikator musi spełniać określone kryteria wydajności, aby był użyteczny (a ogólna dokładność rzadko jest odpowiednią miarą). Istnieją miary, takie jak wrażliwość, swoistość, dodatnia i ujemna wartość predykcyjna, które uwzględniają różne klasy i różne rodzaje błędnej klasyfikacji. Można powiedzieć, że te środki odpowiadają na różne pytania dotyczące klasyfikatora:

  • wrażliwość: Jaką część przypadków rzeczywiście należących do klasy C uznaje się za taką?
  • Specyfika: Jaki ułamek przypadków naprawdę nie należące do klasy C jest rozpoznawany jako taki?
  • dodatnia wartość predykcyjna: biorąc pod uwagę, że klasyfikator przewiduje klasę C, jakie jest prawdopodobieństwo, że ta prognoza jest poprawna?
  • ujemna wartość predykcyjna: Biorąc pod uwagę, że klasyfikator przewiduje, że przypadek nie jest z klasy C, jakie jest prawdopodobieństwo, że ta prognoza jest poprawna?

Pytania te często pozwalają sformułować specyfikacje, których klasyfikator musi potrzebować, aby był użyteczny.

Wartości predykcyjne są często ważniejsze z punktu widzenia praktycznego zastosowania klasyfikatora: są uwarunkowane przewidywaniem, czyli sytuacją, w której się znajdujesz przy stosowaniu klasyfikatora (pacjent zwykle nie jest zainteresowany tym, jak prawdopodobne jest test ma na celu rozpoznanie chorych przypadków, ale raczej prawdopodobieństwo stwierdzenia prawidłowej diagnozy). Jednak, aby je poprawnie obliczyć, musisz znać względne częstotliwości różnych klas w populacji, w której jest używany klasyfikator (wygląda na to, że masz tę informację - więc nic nie stoi na przeszkodzie, aby na to spojrzeć).

Możesz także spojrzeć na zysk informacyjny, jaki daje dodatnia lub ujemna prognoza. Mierzy się to dodatnim i ujemnym współczynnikiem wiarygodności, LR⁺ i LR⁻. Krótko mówiąc, mówią ci, jak bardzo prognoza zmienia szanse na daną klasę. (zobacz moją odpowiedź tutaj, aby uzyskać bardziej szczegółowe wyjaśnienie)

W przypadku trywialnego klasyfikatora rzeczy wyglądają następująco: użyję klasy „0” jako klasy, o której mowa, więc „dodatnia” oznacza klasę „0”. Na 100 przypadków 100 jest przewidywanych pozytywnych (należących do klasy 0). 97 z nich naprawdę, 3 nie. Czułość dla klasy 0 wynosi 100% (rozpoznano wszystkie 97 przypadków rzeczywiście należących do klasy 0), swoistość wynosi 0 (nie rozpoznano żadnego z pozostałych przypadków). dodatnia wartość predykcyjna (przy założeniu, że częstotliwość względna 97: 3 jest reprezentatywna) wynosi 97%, ujemnej wartości predykcyjnej nie można obliczyć, ponieważ nie wystąpiły prognozy ujemne.

LR+=sensitivity1specificity=1
LR=1sensitivityspecificity=00
Teraz LR⁺ i LR⁻ są czynnikami, przez które mnożymy szanse, że skrzynka należy do klasy dodatniej („0”). Posiadanie LR⁺ równego 1 oznacza, że ​​pozytywne przewidywanie nie podało żadnych informacji: nie zmieni szans. Oto więc miara, która wyraźnie wyraża fakt, że twój trywialny klasyfikator nie dodaje żadnych informacji .


Zupełnie inny kierunek myślenia: wspominasz, że chcesz oceniać różne klasyfikatory. To brzmi trochę jak porównanie lub wybór klasyfikatora. Zastrzeżenie dotyczące środków, które omawiam powyżej, polega na tym, że podlegają bardzo wysokiej losowej niepewności (co oznacza, że ​​potrzebujesz wielu przypadków testowych), jeśli ocenisz je na „twardych” etykietach klasy. Jeśli twoje przewidywania są przede wszystkim ciągłe (metryczne, np. Prawdopodobieństwo tylne), możesz użyć powiązanych miar, które dotyczą tego samego rodzaju pytania, ale nie używaj ułamków przypadków, ale ciągłe miary, zobacz tutaj . Będą one również lepiej dostosowane do wykrywania niewielkich różnic w prognozach.

(@FrankHarrell powie ci, że potrzebujesz „odpowiednich reguł punktacji”, więc to kolejny termin do zapamiętania.)

cbeleites niezadowoleni z SX
źródło
3

Po pierwsze: czy wszystkie trafienia są równie ważne, a wszystkie chybienia są równie ważne? Jeśli tak, to nie ma nic złego w tym, że Twoja ocena zerowa jest tak dobra: jest to po prostu doskonałe rozwiązanie.

Jeśli uznasz, że ważne jest dobre wyniki w przewidywaniu 1, możesz zamiast tego użyć miary F. Jest to w zasadzie średnia harmoniczna przywołania (jaka część rzeczywistych 1 była przewidywana jako 1) i precyzja (jaka część przewidywanych 1 była faktycznie 1). Aby model uzyskał wysoką ocenę w tej mierze, musi:

  1. Znajdź większość z 1.
  2. Nieczęsto przewidujemy 1, gdy w rzeczywistości jest to 0.

I musi to robić jednocześnie. Nawet jeśli Twój model wykonuje tylko jedną z 2 czynności w niemal perfekcyjny sposób, będzie miał niski wynik, jeśli nie spełni innych wymagań. https://en.wikipedia.org/wiki/F1_score

mvherweg
źródło
Jest to niewłaściwa reguła punktacji, która wykorzystuje tylko 1 bit informacji z prognoz. Nieprawidłowe reguły punktacji są optymalizowane przez fałszywe modele.
Frank Harrell,
2

Cieszę się, że @beleites otworzył drzwi ... Prawdopodobieństwo zgodności lub c-index, który bywa równy obszarowi ROC w szczególnym przypadku pliku binarnego Y, to ładne podsumowanie dyskryminacji predykcyjnej. Sama krzywa ROC ma wysoki stosunek atramentu do informacji, ale pole pod krzywą, ponieważ równa się prawdopodobieństwu zgodności, ma wiele fajnych cech, z których jedną jest to, że jest niezależna od częstości występowaniaY=1 ponieważ to zależy od Y. Nie jest to do końca właściwe (użyj uogólnionegoR2 miary lub współczynnik wiarygodności χ2 aby to osiągnąć) i nie jest wystarczająco czuły, aby można go było porównać do dwóch modeli, jest to miłe podsumowanie pojedynczego modelu.

Frank Harrell
źródło
1

Charakterystyka operacyjna odbiornika (ROC) http://en.wikipedia.org/wiki/Receiver_operating_characteristic krzywa i powiązane obliczenia (a mianowicie obszar pod krzywą - AUC) są powszechnie stosowane. w zasadzie wyobrażasz sobie, że twój klasyfikator daje ciągłą odpowiedź (np. od 0 do 1) i wykreślasz czułość w stosunku do częstości fałszywych alarmów (specyficzność 1), ponieważ próg decyzji waha się od 0 do 1. Zostały one specjalnie zaprojektowane na rzadkie zdarzenia (wykrywanie wroga samoloty?).

seanv507
źródło
1

Kiedy mamy do czynienia z silnie niezrównoważonymi danymi, krzywa Precision-Recall jest bardzo dobrym narzędziem, lepszym niż jej bardziej popularny kuzyn ROC .

Davis i in. glin. wykazali, że algorytm optymalizujący obszar pod krzywą ROC nie gwarantuje optymalizacji obszaru pod krzywą PR.

Marc Claesen
źródło