Zestaw testowy i zestaw krzyżowej weryfikacji mają różne cele. Jeśli upuścisz jedno z nich, tracisz jego zalety:
Nie można użyć zestawu weryfikacji krzyżowej do dokładnego pomiaru wydajności modelu, ponieważ celowo dostosuje się wyniki, aby uzyskać najlepszą możliwą metrykę, może ponad setki wariantów parametrów. Wynik krzyżowej weryfikacji prawdopodobnie będzie zatem zbyt optymistyczny.
Z tego samego powodu nie można upuścić zestawu sprawdzania poprawności i używać zestawu testowego do wybierania hiper parametrów, ponieważ wtedy jest prawie pewne, że przeceniasz, jak dobry jest twój model. W idealnym świecie zestaw testowy jest używany tylko raz lub można go używać w „neutralny” sposób w celu porównania różnych eksperymentów.
Jeśli krzyż validate, znaleźć najlepszy model, a następnie dodać w danych testowych do pociągu, to jest możliwe (aw niektórych sytuacjach może całkiem prawdopodobne) zostanie poprawiona model. Jednak nie ma sposobu, aby upewnić się, czy tak się rzeczywiście stało, a nawet jeśli tak, nie ma żadnego obiektywnego oszacowania, jaka jest nowa wydajność.
Z bycia świadkiem wielu zawodów Kaggle, mam doświadczenie, że dostrojenie się do zestawu testowego przez nadmierne użycie go jest prawdziwą rzeczą i ma duży wpływ na te zawody. Często istnieje grupa konkurentów, którzy wspięli się na publiczną tabelę wyników i wybrali swój najlepszy model w teście (publiczna tabela wyników jest w rzeczywistości zestawem testowym), ale nie są tak dokładni w kwestii weryfikacji krzyżowej. . . ci konkurenci wypadają z tabeli liderów, gdy na końcu wprowadzany jest nowy zestaw testowy.
Jednym z rozsądnych podejść jest ponowne wykorzystanie danych (pociąg + CV) do ponownego trenowania przy użyciu hiperparamów, które znalazłeś, przed testowaniem. W ten sposób możesz ćwiczyć na większej liczbie danych, a na końcu nadal otrzymujesz niezależną miarę wydajności.
Jeśli chcesz uzyskać więcej z walidacji krzyżowej, zwykle stosuje się k-krotną walidację krzyżową . Powszechną sztuczką w zawodach Kaggle jest stosowanie k-krotnej weryfikacji krzyżowej i zamiast ponownego łączenia danych w większy zestaw treningowy (pociąg + CV), aby zestawić lub ułożyć wyniki CV w meta-model.
Na koniec zawsze sprawdź, czy podziały dla sprawdzania poprawności i testowania są odporne na ewentualną korelację w zestawie danych.