Większość innych odpowiedzi skupia się na przykładzie niezrównoważonych klas. Tak, to jest ważne. Uważam jednak, że dokładność jest problematyczna nawet w przypadku klas zrównoważonych.
Frank Harrell napisał o tym na swoim blogu: Klasyfikacja a przewidywanie i szkody spowodowane dokładnością klasyfikacji i innymi nieciągłymi zasadami niewłaściwej punktacji .
Zasadniczo jego argumentem jest to, że element statystyczny twojego ćwiczenia kończy się, gdy podajesz prawdopodobieństwo dla każdej klasy nowej próbki. Mapowanie tych przewidywanych prawdopodobieństw do klasyfikacji 0-1, wybierając próg, poza którym klasyfikować nową obserwację jako 1 vs 0 nie jest częścią statystyk więcej . Jest to część komponentu decyzyjnego . A tutaj potrzebujesz probabilistycznych danych wyjściowych swojego modelu - ale także rozważań takich jak:( p^, 1 - p^)
- Jakie są konsekwencje podjęcia decyzji o potraktowaniu nowej obserwacji jako klasy 1 vs. 0? Czy następnie wysyłam tanią pocztę marketingową do wszystkich 1? Czy też stosuję inwazyjne leczenie raka z dużymi skutkami ubocznymi?
- Jakie są konsekwencje traktowania „prawdziwej” 0 jako 1 i odwrotnie? Czy odznaczę klienta? Poddać kogoś niepotrzebnemu leczeniu?
- Czy moje „klasy” są naprawdę dyskretne? Czy też istnieje kontinuum (np. Ciśnienie krwi), gdzie progi kliniczne są w rzeczywistości tylko skrótami poznawczymi? Jeśli tak, to jak daleko przekraczam próg w przypadku, gdy „klasyfikuję” teraz?
- A może małe, ale dodatnie prawdopodobieństwo bycia klasą 1 oznacza „zdobądź więcej danych”, „przeprowadź kolejny test”?
W zależności od konsekwencji swojej decyzji, do podjęcia decyzji zastosujesz inny próg. Jeśli operacja jest zabiegiem inwazyjnym, będziesz potrzebować znacznie większego prawdopodobieństwa, aby zakwalifikować pacjenta jako cierpiącego na coś, niż gdyby działaniem było zalecenie dwóch aspiryny. Lub możesz mieć nawet trzy różne decyzje, chociaż są tylko dwie klasy (chory kontra zdrowy): „idź do domu i nie martw się” vs. „przeprowadź kolejny test, ponieważ ta, którą mamy, jest niejednoznaczna„ kontra ”działać natychmiast” .
Prawidłowy sposób oceny przewidywanych prawdopodobienstwo jest nie do porównania ich do progu, mapę im opiera się na progu, a następnie ocenić przekształcone klasyfikacja. Zamiast tego należy stosować odpowiednie reguły punktacji . Są to funkcje strat, które odwzorowują przewidywane prawdopodobieństwa i odpowiadające obserwowane wyniki na wartości strat, które są minimalizowane w oczekiwaniu przez prawdziwe prawdopodobieństwa . Chodzi o to, że bierzemy średnią z reguły punktacji ocenianej na podstawie wielu (najlepiej: wielu) zaobserwowanych wyników i odpowiadających im przewidywanych prawdopodobieństw członkostwa w klasie, jako oszacowanie oczekiwań względem reguły punktacji.( p^, 1 - p^)( 0 , 1 ) ( 0 , 1 ), ( s , 1 - P )( 0 , 1 )( 0 , 1 )( p , 1 - p )
Zwróć uwagę, że „właściwe” ma tutaj dokładnie określone znaczenie - istnieją niewłaściwe reguły punktacji, a także właściwe reguły punktacji i ostatecznie ściśle właściwe reguły punktacji . Reguły punktacji jako takie są funkcjami utraty gęstości predykcyjnych i wyników. Prawidłowe reguły punktacji to reguły punktacji, które są minimalizowane w oczekiwaniu, jeśli gęstość predykcyjna jest gęstością prawdziwą. Ściśle odpowiednie zasady punktacji są reguły punktacji, które są jedynie zminimalizowane w oczekiwaniu, gdy gęstość predykcyjna jest prawdziwa gęstość.
Jak zauważa Frank Harrell , dokładność jest niewłaściwą zasadą punktacji. (Dokładniej mówiąc, dokładność wcale nie jest regułą punktacji : patrz moja odpowiedź na Czy dokładność jest niewłaściwą regułą punktacji w ustawieniach klasyfikacji binarnej? ) Można to zaobserwować np. Jeśli nie mamy żadnych predyktorów i po prostu nieuczciwa moneta z prawdopodobieństwami . Dokładność jest zmaksymalizowana, jeśli sklasyfikujemy wszystko jako pierwszą klasę i całkowicie zignorujemy 40% prawdopodobieństwo, że dowolny wynik może być w drugiej klasie. (Tutaj widzimy, że dokładność jest problematyczna nawet dla klas zrównoważonych). Właściwe reguły punktacji będą preferowały niż( 0,6 ; 0,4 )( 0,6 ; 0,4 ) ( 1 , 0 )( 0,6 ; 0,4 )( 1 , 0 ) jeden w oczekiwaniu. W szczególności dokładność jest nieciągła w progu: nieznaczne przesunięcie progu może sprawić, że jedna (lub wiele) prognoz zmieni klasę i zmieni całą dokładność o dyskretną wartość. To nie ma sensu.
Więcej informacji można znaleźć na dwóch postach na blogu Franka, do których prowadzi link powyżej, a także w rozdziale 10 strategii modelowania regresji Franka Harrella .
(Jest to bezwstydnie skopiowane z mojej wcześniejszej odpowiedzi ).
EDYTOWAĆ. Moja odpowiedź na przykład, kiedy użycie dokładności jako miary wyniku doprowadzi do błędnego wniosku, daje nadzieję, że ilustruje przykład, w którym maksymalizacja dokładności może prowadzić do błędnych decyzji nawet dla zrównoważonych klas .
Kiedy używamy dokładności, przypisujemy jednakowy koszt fałszywym pozytywom i fałszywym negatywom. Gdy ten zestaw danych jest niezrównoważony - powiedzmy, że ma 99% instancji w jednej klasie i tylko 1% w drugiej - istnieje świetny sposób na obniżenie kosztów. Przewiduj, że każda instancja należy do klasy większości, uzyskaj dokładność 99% i wróć do domu wcześniej.
Problem zaczyna się, gdy rzeczywiste koszty, które przypisujemy do każdego błędu, nie są równe. Jeśli mamy do czynienia z rzadką, ale śmiertelną chorobą, koszt nie zdiagnozowania choroby chorego jest znacznie wyższy niż koszt wysłania zdrowej osoby na więcej badań.
Zasadniczo nie ma ogólnie najlepszej miary. Najlepsza miara wynika z twoich potrzeb. W pewnym sensie nie jest to pytanie dotyczące uczenia maszynowego, ale pytanie biznesowe. Często dwie osoby korzystają z tego samego zestawu danych, ale wybierają różne dane ze względu na różne cele.
Dokładność to świetny wskaźnik. W rzeczywistości większość wskaźników jest świetna i lubię oceniać wiele wskaźników. Jednak w pewnym momencie będziesz musiał zdecydować się na użycie modelu A lub B. Tam powinieneś użyć jednej metryki, która najlepiej odpowiada Twoim potrzebom.
Aby uzyskać dodatkowy kredyt, wybierz tę metrykę przed analizą, aby nie rozpraszać się przy podejmowaniu decyzji.
źródło
Problem z dokładnością
Standardowa dokładność jest zdefiniowana jako stosunek poprawnych klasyfikacji do liczby dokonanych klasyfikacji.
Jest to zatem ogólna miara dla wszystkich klas i jak wkrótce zobaczymy, nie jest dobrą miarą powiedzieć wyrocznię oprócz rzeczywistego przydatnego testu. Wyrocznia to funkcja klasyfikacji, która zwraca losowe przypuszczenie dla każdej próbki. Podobnie, chcemy być w stanie ocenić wydajność klasyfikacyjną naszej funkcji klasyfikacyjnej. Dokładność \ textit {może} być użyteczną miarą, jeśli mamy taką samą liczbę próbek na klasę, ale jeśli mamy niezrównoważony zestaw dokładności próbek, wcale nie jest przydatny. Co więcej, test może mieć wysoką dokładność, ale w rzeczywistości działa gorzej niż test o niższej dokładności.
Dokładność według klasy
Czułość i swoistość
W testach medycznych czułość definiuje się jako stosunek osób prawidłowo zidentyfikowanych jako cierpiące na chorobę do liczby osób faktycznie chorujących. Swoistość definiuje się jako stosunek osób prawidłowo zidentyfikowanych jako zdrowe do liczby osób, które są faktycznie zdrowe. Liczba osób faktycznie cierpiących na tę chorobę to liczba prawdziwie pozytywnych wyników testu plus liczba wyników fałszywie ujemnych. Liczba faktycznie zdrowych osób to liczba wyników prawdziwie ujemnych plus liczba wyników fałszywie dodatnich.
Klasyfikacja binarna
Klasyfikacja N-Ary
Czułość i specyficzność na klasę nie jest przydatna, jeśli mamy tylko dwie klasy, ale możemy rozszerzyć ją na wiele klas. Czułość i swoistość definiuje się jako:
Wprowadzenie zaufania
źródło
Niezrównoważone klasy w zbiorze danych
Krótko mówiąc: wyobraź sobie, że 99% jednej klasy (powiedzmy jabłek) i 1% innej klasy znajduje się w twoim zestawie danych (powiedzmy banany). Mój algorytm superduperingu uzyskuje zadziwiającą 99% dokładność dla tego zestawu danych, sprawdź to:
return "it's an apple"
Będzie miał rację w 99% przypadków i dlatego uzyska 99% dokładności. Czy mogę sprzedać ci mój algorytm?
Rozwiązanie: nie używaj miary bezwzględnej (dokładności), ale miary odnoszącej się do każdej klasy (istnieje wiele takich czynników, jak ROC AUC)
źródło
Odpowiedź DaL jest właśnie taka. Zilustruję to bardzo prostym przykładem na temat ... sprzedaży jaj.
Jeśli twój klasyfikator nie pomyli się, otrzymasz maksymalny przychód, jakiego możesz oczekiwać. Jeśli nie jest idealny, to:
Zatem dokładność twojego klasyfikatora jest dokładnie, jak blisko jesteś maksymalnych przychodów. To idealna miara.
Jeśli na przykład klasyfikator dotyczy znalezienia odpowiednich dokumentów w bazie danych, możesz porównać „ile” marnowania czasu na czytanie nieistotnego dokumentu w porównaniu do znalezienia odpowiedniego dokumentu.
źródło
Dokładność klasyfikacji to liczba poprawnych prognoz podzielona przez całkowitą liczbę prognoz.
Dokładność może wprowadzać w błąd. Na przykład w przypadku problemu, w którym występuje duża nierównowaga klasy, model może przewidzieć wartość klasy większości dla wszystkich prognoz i osiągnąć wysoką dokładność klasyfikacji. Potrzebne są więc dalsze miary wydajności, takie jak wynik F1 i wynik Briera.
źródło
Jak zauważyli inni, innym problemem z dokładnością jest ukryta obojętność na cenę niepowodzenia - tj. Założenie, że wszystkie błędne klasyfikacje są równe. W praktyce tak nie jest, a koszty uzyskania niewłaściwej klasyfikacji zależą w dużym stopniu od podmiotu i możesz preferować minimalizację określonego rodzaju pomyłki niż maksymalizację dokładności.
źródło