W poprzedniej sekcji prezentowany był zestaw danych modelu, wszystkie obliczone jako pojedynczej wartości progu klasyfikacji. Jeśli jednak chcesz ocenić do różnych celów, potrzebne są różne narzędzia.
Krzywa charakterystyki operacyjnej odbiornika (ROC)
Krzywa charakterystyki operacyjnej odbiornika (ROC) to wizualna reprezentacja wydajności modelu na wszystkich wartościach progowych. Długa wersja nazwy (charakterystyka operacyjna odbiornika) jest już zachowana od drugowojennych radarów.
Krzywa ROC jest rysowana przez obliczenie współczynnika prawdziwie pozytywnych (TPR) i współczynnik wyników fałszywie pozytywnych (FPR) na każdym możliwym progu (w praktyce wybranych interwałów), a następnie wykres TPR i FPR. Idealny model, który na pewnym poziomie ma TPR równy 1,0, a FPR 0,0, być reprezentowane przez punkt w (0, 1) jeśli wszystkie pozostałe progi są ignorowane lub gdy:
![Rysunek 1. Wykres TPR (oś Y) względem FPR (oś X) przedstawiający
wydajność idealnego modelu: linia od (0,1) do (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=pl)
Obszar pod krzywą (AUC)
Obszar pod krzywą ROC (AUC) reprezentuje prawdopodobieństwo, że model, w przypadku losowo wybranego przykładu pozytywnego i negatywnego spowoduje ustalenie pozycji jest większa niż ujemna.
Powyższy idealny model, zawierający kwadrat o długościach 1, ma powierzchnię pod krzywą (AUC) równą 1,0. Oznacza to 100% prawdopodobieństwa, że model poprawnie sklasyfikuje losowo wybrany przykład dodatnią pozycję losowo wybrany przykład negatywny. Innymi słowy, patrząc na rozprzestrzenianie się punktów danych poniżej, AUC daje prawdopodobieństwo, że model umieści losowo wybrany kwadrat po prawej stronie losowo wybranego okręgu, niezależnie od dla których ustawiany jest próg.
Mówiąc konkretniej, klasyfikator spamu z AUC wartości 1,0 zawsze powoduje, że losowe e-maile zawierające spam zwiększają prawdopodobieństwo spamu niż przypadkowy, wiarygodny e-mail. Rzeczywista klasyfikacja poszczególnych zależy od wybranego progu.
W przypadku klasyfikatorów binarnych model, który działa dokładnie tak samo jak przypadkowe odgadywanie, Rzuty monetami mają funkcję ROC, która jest linią ukośną od 0,0 do (1,1). AUC to 0,5, co oznacza 50% prawdopodobieństwa prawidłowego rankingu losowej pozytywnej, negatywny przykład.
W przykładzie klasyfikatora spamu klasyfikatora spamu przypisuje losowy spamerski e-mail większe prawdopodobieństwo, że jest spamem niż losowy e-mail wiarygodne e-maile tylko przez połowę czasu.
![Rysunek 2. Wykres TPR (oś Y) względem FPR (oś X) przedstawiający
wyniki dla odgadywania losowego 50–50: linia ukośna od (0,0)
do (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=pl)
(Opcjonalne, zaawansowane) Krzywa precyzji i czułości
AUC i ROC dobrze sprawdzają się przy porównywaniu modeli, gdy zbiór danych ma przybliżoną między klasami. Gdy zbiór danych jest niezrównoważony, funkcja precyzji i czułości krzywe (PRC), a obszar pod nimi może zapewnić lepszy porównanie wizualizacji skuteczności modelu. Krzywe precyzji i czułości są tworzone przez precyzję wykresu na osi Y i czułość na osi X. progów.
![Przykład krzywej precyzji i czułości z krzywą wypukłą w dół z zakresu (0,1)
do (1,0)](https://developers.google.cn/static/machine-learning/crash-course/images/prauc.png?authuser=6&hl=pl)
AUC i ROC przy wyborze modelu i progu
AUC to przydatny wskaźnik do porównywania skuteczności dwóch różnych modeli, o ile zbiór danych jest w przybliżeniu zrównoważony. (zobacz Krzywa precyzji i czułości, powyżej dla niezrównoważonych zbiorów danych). Model o większym obszarze krzywa jest zwykle lepsza.
![Rysunek 3.a. Wykres ROC/AUC modelu z wartością AUC=0,65.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-65.png?authuser=6&hl=pl)
![Rysunek 3.b. Wykres ROC/AUC modelu z wartością AUC=0,93.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-93.png?authuser=6&hl=pl)
Punkty na krzywej ROC najbliższe wartości (0,1) reprezentują zakres progi o najwyższej wydajności dla danego modelu. Jak już wspomnieliśmy w Progi, Tablica pomyłek oraz Wybór danych i zalet wybrany próg zależy od tego, które dane są najważniejsze do konkretnego przypadku użycia. Weź pod uwagę punkty A, B i C opisane poniżej diagram, z których każdy reprezentuje próg:
![Rysunek 4. Krzywa ROC o wartości AUC=0,84 pokazująca 3 punkty na
wypukła część krzywej najbliższa (0,1) z etykietami A, B i C.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=pl)
Jeśli fałszywe alarmy są bardzo kosztowne, wybierz próg, który daje niższy FPR, np. ten w punkcie A, nawet jeśli TPR jest zmniejszona. Jeśli wyniki fałszywie dodatnie są tanie, a fałszywie negatywne, (brak wyników prawdziwie pozytywnych) jest bardzo kosztowny, czyli próg punktu C, maksymalizacji TPR, może być zalecane. Jeśli koszty są mniej więcej równoważne, punkt B może zapewnić równowagę między TPR a FPR.
Oto krzywa ROC dla danych, które widzieliśmy:
Ćwiczenie: sprawdź swoją wiedzę
![krzywa ROC, która biegnie w górę, a potem w prawo od (0,0) do
(1,1). Krzywa ma wartość AUC wynoszącą 0,77.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-77.png?authuser=6&hl=pl)
![krzywa charakterystyki ROC, która jest w przybliżeniu linii prostej od (0,0) do
(1,1) z kilkoma serpentynami. Krzywa ma wartość AUC wynoszącą 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=pl)
![krzywa ROC, która zygzakuje w górę i w prawo od (0,0) do (1,1).
Krzywa ma wartość AUC wynoszącą 0,623.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-623.png?authuser=6&hl=pl)
![krzywa ROC, która biegnie w prawo, a potem w górę
(0,0) do (1,1). Krzywa ma wartość AUC wynoszącą 0,31.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-31.png?authuser=6&hl=pl)
![krzywa ROC, która biegnie w prawo, a potem w górę
(0,0) do (1,1). Krzywa ma wartość AUC wynoszącą 0,32.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-32.png?authuser=6&hl=pl)
![krzywa ROC, która jest w przybliżeniu prostej od
(0,0) do (1,1) z kilkoma serpentynami. Krzywa ma
AUC wynoszące 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=pl)
![krzywa ROC, która jest ukośną linią prostą od
(0,0) do (1,1). Krzywa ma wartość AUC wynoszącą 0,5.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=pl)
![Krzywa ROC złożona z dwóch prostopadłych linii
linia pozioma od (0,0) do (0,1) oraz linia pozioma od (0,1) do (1,1).
Ta krzywa ma wartość AUC wynoszącą 1,0.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=pl)
(Opcjonalne, zaawansowane) Pytanie dodatkowe
Wyobraź sobie, że lepiej dopuścić spam do niż wysyłać do folderu ze spamem e-maile o znaczeniu krytycznym dla firmy. Masz za pomocą klasyfikatora spamu, aby klasa pozytywna była spam, a klasa negatywna to nie spam. Które z poniższych punktów na krzywej ROC Twojego klasyfikatora jest lepsze?
![Krzywa ROC o wartości AUC=0,84 pokazująca 3 punkty na wypukłej części
krzywą, które są bliskie (0,1). Punkt A znajduje się w około
(0,25; 0,75). Punkt B znajduje się na poziomie około (0,30, 0,90) i wynosi
który maksymalizuje TPR, a minimalizuje FPR. Punkt
C wynosi w przybliżeniu (0,4, 0,95).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=pl)