W oparciu o szacunkową dokładność klasyfikacji chcę przetestować, czy jeden klasyfikator jest statystycznie lepszy na zestawie podstawowym niż inny klasyfikator. Dla każdego klasyfikatora wybieram próbkę szkoleniową i testową losowo z zestawu podstawowego, trenuję model i testuję model. Robię to dziesięć razy dla każdego klasyfikatora. Dlatego mam dziesięć dokładnych pomiarów dokładności klasyfikacji dla każdego klasyfikatora. Jak statystycznie przetestować, czy jest lepszym klasyfikatorem niż w podstawowym zestawie danych. Z jakiego testu T można korzystać?
machine-learning
classification
t-test
entropia
źródło
źródło
Odpowiedzi:
Przegląd i krytyka niektórych podejść do testów t podano w Wybieranie między dwoma algorytmami uczenia się na podstawie skalibrowanych testów , przybliżonych testów statystycznych do porównywania algorytmów uczenia się nadzorowanej klasyfikacji i porównywania klasyfikatorów: pułapek, których należy unikać, i zalecanego podejścia
źródło
Nie mam pod ręką książki Fleiss, więc wszystko to jest IIRC.
Odpowiadając na pytanie @ JohnMoeller w komentarzach w tej chwili: pierwotne pytanie jest IMHO bez odpowiedzi, tak jak jest.
robiąc to, otrzymujesz tabelę awaryjności 2 x 2, która daje poprawny / zły klasyfikator 1 w stosunku do poprawnego / błędnego klasyfikatora 2. Który jest punktem wyjścia do testu McNemara . Jest to więc porównanie w parach, które ma większą moc niż porównywanie „niezależnych” proporcji (które nie są całkowicie niezależne, jeśli pochodzą z losowego losowania z tej samej skończonej próbki).
Nie mogę teraz sprawdzić „małego wydruku” McNemara, ale 30 próbek to niewiele. Może być więc konieczne przejście z testu McNemara na dokładny test Fishera [lub coś innego], który oblicza prawdopodobieństwa dwumianowe.
Sposoby proporcji:
nie ma znaczenia, czy testujesz jeden i ten sam klasyfikator 10x z 10 przypadków testowych, czy raz ze wszystkimi tymi 100 przypadkami (tabela 2 x 2 liczy tylko wszystkie przypadki testowe).
Jeżeli 10 oszacowań dokładności dla każdego klasyfikatora w pierwotnym pytaniu uzyskano przez losowe wstrzymanie lub 10-krotną walidację krzyżową lub 10-krotność poza początkiem, zakłada się zwykle, że 10 modeli zastępczych obliczonych dla każdego klasyfikatora jest równoważnych (= mają tę samą dokładność), więc wyniki badań można łączyć *. W przypadku 10-krotnej walidacji krzyżowej zakłada się, że wielkość próbki testowej jest równa całkowitej liczbie próbek testowych. W przypadku innych metod nie jestem tego pewien: możesz przetestować ten sam przypadek więcej niż raz. W zależności od danych / problemu / aplikacji nie jest to tak dużo informacji, jak testowanie nowego przypadku.
* Jeśli modele zastępcze są niestabilne, założenie to się załamuje. Ale możesz to zmierzyć: Wykonaj iterację krotnego sprawdzania poprawności krzyżowej. Każde pełne uruchomienie daje jedną prognozę dla każdego przypadku. Jeśli więc porównasz prognozy dla tego samego przypadku testowego z wieloma różnymi modelami zastępczymi, możesz zmierzyć wariancję spowodowaną wymianą niektórych danych treningowych. Ta wariancja jest dodatkiem do wariancji ze względu na skończoną całkowitą wielkość próby.k
Umieść swoje iterowane wyniki CV w „poprawnej macierzy klasyfikacji”, przy czym każdy wiersz odpowiada jednemu przypadkowi i każdej kolumnie jednemu z modeli zastępczych. Teraz wariancja wzdłuż rzędów (usunięcie wszystkich pustych elementów) wynika wyłącznie z niestabilności w modelach zastępczych. Różnica w kolumnach wynika ze skończonej liczby przypadków użytych do testowania tego modelu zastępczego. Powiedzmy, że masz poprawnych predykcji spośród przetestowanych przypadków w kolumnie. Szacunkowa dokładność punktowa to , może być zmienna . Sprawdź, czy wariancja spowodowana niestabilnością jest duża czy mała w porównaniu do wariancji wynikającej ze skończonej wielkości próbki testowej.k n p^=kn σ2(p^)=σ2(kn)=p(1−p)n
źródło