Jak decydujesz, jaki jest twój pociąg, walidacja i procent testów?

10

Podczas podziału moich oznaczonych danych na zestawy szkoleniowe, walidacyjne i testowe słyszałem wszystko od 50/25/25 do 85/5/10. Jestem pewien, że zależy to od tego, w jaki sposób zamierzasz używać swojego modelu i od tego, jak podatna jest na nadmierne dopasowanie algorytmu uczenia się. Czy istnieje sposób, aby zdecydować, czy to wszystko na zasadzie kciuka? Nawet ELSII wydaje się niejasny w tym temacie.

Ed Fine
źródło
To pytanie i odpowiedzi dotyczące nakładania stosu ma dwie dobre odpowiedzi na ten temat, każda z ponad 30 głosami pozytywnymi. stackoverflow.com/questions/13610074/…
Luke Singham

Odpowiedzi:

13

Walidacja podzielonej próbki bez ponownego próbkowania (walidacja krzyżowa lub lepiej: ładowanie początkowe) jest niewiarygodna, chyba że masz ogromną próbkę (np. N.>20000 ). Zwykle preferowane jest rygorystyczne sprawdzanie poprawności za pomocą ładowania początkowego, zakładając, że zaprogramujesz wszystkie etapy wyboru modelu, aby można je było powtarzać w każdej pętli ładowania początkowego. Jednym z problemów z podejściami do próby podzielonej, oprócz zmienności, jest trudność w wyborze frakcji podzielonych.

Frank Harrell
źródło
A co, jeśli pracujesz na danych o większej skali (ale nie dużych danych) o wartości 10000 <N <1000000? W tym momencie podział wydaje się rozsądny. To pasuje do wielu, ale nie wszystkich, sytuacji, które napotykam.
Ed Fine,
To może być całkiem rozsądne.
Frank Harrell,
Mam N = 95 000 000 (trzymaj zestaw 9 500 000). Gdzie jest odniesienie, które mówi mi, że nie muszę powtarzać mojego eksperymentu 10x?
dranxo
2
Wystarczy uruchomić dwa razy (2 podziały), a zobaczysz, jak bardzo różnią się wyniki. Prawdopodobnie różnią się tak bardzo, że potrzebujesz tylko jednego podziału. Pomyśl o szerokości przedziału ufności dla proporcji o tak dużej próbce.
Frank Harrell
3

Oczywiście musisz także zdecydować o proporcjach podziału dla (podwójnego) ponownego próbkowania ...

Jednak, jeśli pamiętasz, ponowne próbkowanie zwykle działa dla całkiem szerokiego zakresu współczynników podziału

  • nie robić pomijania, jeśli zmniejszyłoby to liczbę możliwych odrębnych przebiegów
  • zostaw wystarczającą liczbę przypadków treningowych w najbardziej wewnętrznym zestawie treningowym, aby algorytm trajektorii miał przyzwoitą szansę na stworzenie użytecznego modelu.
  • im więcej niezależnych spraw masz, tym mniej ważne są te względy.

A co, jeśli pracujesz na danych o większej skali (ale nie dużych danych) o wartości 10000 <N <1000000?

Co możesz zrobić, jeśli nie masz pewności, czy konieczne jest ponowne próbkowanie: kilka razy próbkuj ponownie. Wystarczy, abyś mógł zmierzyć, czy konieczne było ponowne próbkowanie.

  • sprawdź stabilność swoich prognoz
  • sprawdź stabilność parametrów swojego modelu

Dzięki tym wynikom możesz zdecydować, czy powinieneś dodać więcej iteracji ponownego próbkowania, czy też wszystko jest w porządku.

cbeleites niezadowoleni z SX
źródło
2

Nie ma na to twardej i szybkiej reguły. Ale analiza empiryczna wykazała, że ​​im więcej danych treningowych posiadasz, tym lepsza będzie Twoja dokładność. Ale cokolwiek zrobisz, nie zapomnij zebrać wszystkich swoich danych treningowych / walidacyjnych / testowych i zrób 10-krotne CV podczas podsumowywania. Daje to bardzo dobry wgląd w problem z przeregulowaniem / niedopasowaniem podczas eksperymentu.

Rushdi Shams
źródło
1

Myślę, że to wszystko ma znaczenie, na które pytania próbujesz odpowiedzieć. Czy interesuje Cię dokładny obraz różnicy wydajności między wieloma algorytmami? Następnie potrzebujesz dość dużego zestawu sprawdzania poprawności. Czy jesteś zainteresowany wydajnością algorytmu dla N = 10000 próbek? Następnie należy umieścić co najmniej 10000 próbek w zestawie pociągów.

Większy zestaw sprawdzania poprawności daje większą statystyczną pewność co do twoich wyników, ale pewność dotyczy wydajności algorytmu, który został przeszkolony na mniejszej liczbie próbek, co może nie być tym, czego szukasz w końcu.

MLS
źródło