Co to jest „dobro”? dokładność modeli uczenia maszynowego?
Podczas korzystania z modeli klasyfikacyjnych w uczeniu maszynowym jednym z mierników, którego często używamy do oceny jakości modelu, jest dokładność .
Precyzja to po prostu procent wszystkich obserwacji poprawnie sklasyfikowanych przez model.
Oblicza się go w następujący sposób:
Dokładność = (# prawdziwie pozytywne + # prawdziwie negatywne) / (całkowita wielkość próbki)
Pytanie, które uczniowie często zadają na temat dokładności, brzmi:
Jaka jest „dobra” wartość dokładności modelu uczenia maszynowego?
Chociaż dokładność modelu może wahać się od 0% do 100%, nie ma uniwersalnego progu, którego używamy do określenia, czy model ma „dobrą” dokładność, czy nie.
Zamiast tego zazwyczaj porównujemy dokładność naszego modelu z dokładnością modelu referencyjnego.
Model bazowy po prostu przewiduje, że każda obserwacja w zbiorze danych należy do najczęstszej klasy.
W praktyce każdy model klasyfikacyjny o większej dokładności niż model referencyjny można uznać za „przydatny”, jednak oczywiście im większa jest różnica w dokładności pomiędzy naszym modelem a modelem referencyjnym, tym lepiej.
Poniższy przykład pokazuje, jak z grubsza określić, czy model klasyfikacyjny ma „dobrą” dokładność, czy nie.
Przykład: Ustalanie, czy model ma „dobrą” dokładność
Załóżmy, że używamy modelu regresji logistycznej do przewidzenia, czy 400 różnych koszykarzy z college’u zostanie powołanych do NBA.
Poniższa macierz zamieszania podsumowuje przewidywania dokonane przez model:
Oto jak obliczyć dokładność tego modelu:
- Dokładność = (# prawdziwie pozytywne + # prawdziwie negatywne) / (całkowita wielkość próbki)
- Dokładność = (120 + 170) / (400)
- Dokładność = 0,725
Model poprawnie przewidział wynik dla 72,5% graczy.
Aby zorientować się, czy dokładność jest „dobra”, czy nie, możemy obliczyć dokładność modelu bazowego.
W tym przykładzie najczęstszym rezultatem dla graczy było rezygnacja z draftu. Konkretnie, 240 z 400 graczy nie zostało wybranych.
Podstawowym modelem byłby taki, który po prostu przewiduje, że każdy gracz nie zostanie wybrany.
Dokładność tego modelu można obliczyć w następujący sposób:
- Dokładność = (# prawdziwie pozytywne + # prawdziwie negatywne) / (całkowita wielkość próbki)
- Dokładność = (0 + 240) / (400)
- Dokładność = 0,6
Ten podstawowy model poprawnie przewidziałby wynik dla 60% graczy.
W tym scenariuszu nasz model regresji logistycznej zapewnia zauważalną poprawę dokładności w porównaniu z modelem bazowym, dlatego uważamy, że nasz model jest co najmniej „przydatny”.
W praktyce prawdopodobnie dopasowalibyśmy kilka różnych modeli klasyfikacji i wybrali model ostateczny jako ten, który zapewnia największy wzrost dokładności w porównaniu z modelem bazowym.
Środki ostrożności dotyczące stosowania dokładności do oceny wydajności modelu
Precyzja jest powszechnie stosowaną miarą, ponieważ jest łatwa do interpretacji.
Na przykład, jeśli powiemy, że model jest dokładny w 90%, wiemy, że poprawnie sklasyfikował 90% obserwacji.
Dokładność nie uwzględnia jednak sposobu dystrybucji danych.
Załóżmy na przykład, że 90% wszystkich graczy nie jest powołanych do NBA. Gdybyśmy mieli model, który po prostu przewidywał, że każdy gracz nie zostanie wybrany do draftu, model ten poprawnie przewidziałby wynik dla 90% graczy.
Wartość ta wydaje się wysoka, ale w rzeczywistości model nie jest w stanie poprawnie przewidzieć, którzy gracze zostaną powołani do draftu.
Często używanym alternatywnym miernikiem jest wynik F1 , który uwzględnia sposób dystrybucji danych.
Na przykład, jeśli dane są bardzo niezrównoważone (np. 90% wszystkich graczy nie zostało wybranych do draftu, a 10% tak), wówczas wynik F1 zapewni lepszą ocenę wydajności modelu.
Dowiedz się więcej o różnicach pomiędzy celnością a wynikiem F1 tutaj .
Dodatkowe zasoby
Poniższe samouczki zawierają dodatkowe informacje na temat metryk używanych w modelach klasyfikacji uczenia maszynowego:
Co to jest zrównoważona dokładność?
Co uważa się za „dobry” wynik w F1?