ml ocena modelu ewaluacja modelu - ghdrako/doc_snipets GitHub Wiki
Podział danych
Strategie podziału na dane uczace/testowe:
- wydzielenie (ang. holdout)
- k-krotny sprawdzian krzyżowy (ang. k-fold cross-validation)
- metoda samowsportna (ang. bootstrap method)
W metodzie wydzielania zestaw danych losowych jest dzielony na dwie części: zbiór uczący i zbiór testowy według zadanej proporcji np 80/20. Trenujemy model za pomocą zbioru uczącego a następnie weryfikacja za pomocą zbioru testowego. Takie podejście ma jednak dwie słabe strony. Po pierwsze, wydajność działania modelu możne być w dużej mierze zależna, od tego które obserwacje zostały wybrane do umieszczenia w zbiorze uczącym. Po drugie model nie został wytrenowany z użyciem wszystkich danych ani nie będzie oceniany z ich wykorzystaniem. Znacznie lepsza strategia, przezwyciężająca te słabości, nosi nazwę k-krotnego sprawdzianu krzyżowego.
W metodzie k-krotny sprawdzian krzyżowy dane są rozdzielone na k zbiorów o mniej więcej równym rozmiarze zwane podzbiorami.Model jest trenowany za pomocą k-1 podzbiorów połączonych w jeden zbiór uczący, zaś ostatni jest używany w charakterze zbioru testowego. Ta operacja zostaje powtórzona k razy, przy czym za każdym razem jako zbiór testowy wykorzystywany jest inny podzbiór. Kolejnym krokiem jest uśrednienie wydajności działania modelu dla wszystkich k iteracji, aby w ten sposób otrzymać ostateczny wynik. Podczas stosowania tej metody trzeba wziaść pod uwagę trzy ważne kwestie. Po pierwsze przyjęto założenie ze każda obserwacja została utworzona niezależnie od innych tzn dane sa niezależnie identycznie rozłożone (ang independent identical distribution IDD). Jeśli dane nie są IDD dobrze jest je wymieszać podczas przepisywania podzbiorom.
Po drugie podczas oceny klasyfikatora bardzo często stosuje sie podzbiory zawierające z grubsza te sama wartość procentowa z rożnych klas docelowych.
Po trzecie ...
Uczonych jest k modeli, a każdy z nich oceniany jest za pomocą poszczególnych zbiorów. W każdej iteracji jeden zbiór będzie przechowywany do testowania a, a pozostałych k-1 zbiorów jest używanych zbiorczo do uczenia modelu.
Metoda samowsportna jest metodą przepróbkowujaca (ang oversampling). Przeprowadza iteracyjnie losowanie danych ze zwracaniem zupełnie przypadkowo. Należy podać rozmiar próby i ilość iteracji.
Ocena modelu klasyfikacji
Klasyfikacja
W przypadku wykrywania spamu mamy do czynienia z klasyfikatorem binarnym czyli algorytmu przewidującego przynależność obiektu do jednej z dwóch klas.
Pomiar dokładności za pomocą sprawdzianu krzyżowego Dokładność nie stanowi dobrej miary wydajności modelu, zwłaszcza w przypadku wypaczonych zbiorów danych (ang. skewed datasets; sa to takie zbiory danych, w których niektóre klasy występują znacznie częściej od pozostałych.
macierzy pomyłek
Zdecydowanie lepszym sposobem oceny wydajności modelu jest analiza macierzy pomyłek (ang. confusion matrix). Ogólna koncepcja polega tu na zliczaniu przypadków zaklasyfikowania próbek z klasy A jako przykładów należących do klasy B dla wszystkich par A/B. Każdy rzad w macierzy pomyłek reprezentuje rzeczywista klasę, natomiast kolumna symbolizuje przewidywana klasę. Doskonały klasyfikator uzyskiwał by wyłącznie przykłady prawdziwie pozytywne i prawdziwie negatywne, zatem niezerowe wartości w macierzy pomyłek mieściłyby się w głównej przekątnej(od lewego górnego do prawego dolnego rogu).
- prawdziwie pozytywne (PP)
- prawdziwie negatywne (PN)
- fałszywie pozytywne (FP)
- fałszywie negatywne (FN)
Na podstawie macierzy pomyłek możemy określić rożne parametry modelu predykcyjnego:
- Dokładność (accuracy) - jest stosunkiem prawidłowo sklasyfikowanych obiektów do wszystkich możliwych przypadków.
- Precyzja - odpowiada na pytanie: do jakiego stopnia model ma racje gdy twierdzi ze ma racje
- Czułość (pełność) - odsetek przypadków pozytywnych w całkowitej liczbie rzeczywistych przypadków w zestawie danych
- Wskaźnik F1 - średnia harmoniczna precyzji i czułości
Błąd możemy interpretować jako iloraz sumy wszystkich fałszywych przewidywań przez sumę wszystkich prognoz:
Dokładność predykcji można wyliczyć bezpośrednio z błędu
Odsetek prawdziwie pozytywnych (OPP ang. true positive rate) i odsetek fałszywie pozytywnych (OFP ang. false positive rate) to metryki skuteczności użyteczne zwłaszcza w przypadku niezrównoważonych klas:
Precyzja (PRE; ang. precision) ocenia dokładność pozytywnych prognoz.
Precyzja=PP/PP+FP
Czułość=PP/PP+FN - inaczej pełność (PEŁ; ang. recall)
Waga tych miar zależny od problemu. Jeśli niewykrycie pewnych przypadków ma poważne konsekwencje (np. niewykrycie klientów którzy zamierzają zrezygnować) to powinniśmy dążyć do maksymalizacji wartości recall.
Jesli natomiast nie wybranie wszystkich interesujacych nas przypadków przez model nie stanowi problemu, natomiast chcemy uniknać przypadków false positive to powinnismy dazyc do optymalizacji wartosci precision.
W praktyce często wygodnie jest połączyć precyzje i czułość w jeden wskaźnik zwany wynikiem F1, zwłaszcza jeśli potrzebujemy jednego wskaźnika do porównania dwóch klasyfikatorów. Wynik F1 stanowi średnia harmoniczna precyzji i czułości. Wynik F1 faworyzuje klasyfikatory mające zbliżone wartości i czułości. Niestety nie możemy mieć wszystkiego na raz wraz ze wzrostem precyzji maleje czułość. To od charakteru problemu zależny która wartość jest dla nas ważniejsza.
Niestety nie mozemy miec wszystkiego naraz: wraz ze wzrostem precyzji maleje pełniość i odwrotnie.Zaleznać ta nazywamy kompromisem pomiedzy precyzją a pełnościa.
Krzywa ROC
Wykresy krzywej charakterystyki roboczej odbiornika (ang. receiver operating characteristic - ROC) sa bardzo dobrymi narzędziami doboru modelu klasyfikacyjnego, bazujacymi na jego skuteczności obliczonej na podstawie odsetka fauszywie pozytywnych i prawdziwie pozytywnych które wyliczamy przez przesuniecie progu decyzjnego klasyfikatora.
Na osi pionowej (Y) przedstawia czułość (TPR), a na osi poziomej (X) odsetek fałszywie pozytywnych wyników (FPR, czyli 1 minus swoistość) dla każdego możliwego progu decyzji.
Linia przerywana na wykresie symbolizuje krzywą ROC całkowicie losowego klasyfikatora; dobry klasyfikator stara sie dąży do lewej górnej części wykresu.
Jednym ze sposobów porównania klasyfikatorów jest pomiar ich obszaru pod krzywą (ang. area under the curve - AUC). Obszar AUC w przypadku doskonałego klasyfikatora byłby równy 1, natomiast w całkowicie losowym klasyfikatorze ma on wartość 0,5.,
Krzywa ROC to krzywa wykreślona w kwadracie jednostkowym łącząca punkty o współrzędnych wyznaczonych przez czułość i swoistość dla różnych poziomów odcięcia. Wykreślając krzywą ROC, na osi x przedstawia się „1 minus swoistość”, czyli frakcję wyników fałszywie pozytywnych wśród wszystkich obiektów w rzeczywistości negatywnych (ang. false positive rate), zaś na osi y – czułość, czyli frakcję wyników wskazanych jako pozytywne wśród wszystkich obiektów rzeczywiście należących do klasy pozytywnej (ang. true positive rate).
Krzywa ROC jest narzędziem służącym do mierzenia i oceniania jakości modelów klasyfikujących. Stanowi wizualizacje skuteczności modelu. Tworzy ja dwuwymiarowy wykres prawdopodobieństwa odsetka FP (czyli swoistość) i odsetka PP (czyli czułość). Możemy także opisać obszar zajmowany przez model za pomocą wartości AUC (ang. area under the curve) - obszar pod krzywą.
W ramach krzywej ROC obszar AUC stanowi miare podzielności. Mowi nam on o zdolnosci modelu do rozdzielania klas. Im wyzsza wartosc AUC tym model jest lepszy w odróznieniu "oszustw" od "nieoszustw". W idealnym klasyfikatorze obszar AUC wynosi 1.