Walidacja krzyżowa w StackingClassifier Scikit-Learn

Aug 20 2020

W StackingClassifier dokumentacji Scikit-Learn jest napisane:

Należy zauważyć, że estimators_są one dopasowane w pełni, Xpodczas gdy final_estimator_są trenowane przy użyciu sprawdzonych krzyżowo prognoz bazowych estymatorów przy użyciu cross_val_predict.

... domyślna 5-krotna weryfikacja krzyżowa

Moje pytanie, po co używać 5-krotnej walidacji krzyżowej tylko w ostatecznym estymatorze? dlaczego ostateczny estymator nie jest dopasowany do pełnego X '(wynik z estymatorów bazowych)?

Odpowiedzi

1 RobbytheBelgian Aug 26 2020 at 13:03

Obejmuje to 2 pytania, odpowiem na każde z nich.

  1. Moglibyśmy zastosować walidację krzyżową w całym systemie, ale to by nas trochę utrudniło.

Celem weryfikacji krzyżowej jest znalezienie optymalnych parametrów, które pozwalają modelowi dobrze dopasować dane bez nadmiernego dopasowania. Wystarczy, że zrobi to nasz ostateczny estymator; nie ma potrzeby indywidualnego określania ustawień wszystkich estymatorów bazowych. Estymatory bazowe mogą na przykład zawierać kilka różnych ustawień parametrów; a także wybór różnych typów klasyfikatorów. Jeśli którykolwiek z nich ma skłonność do nadmiernego dopasowania, powinno to zostać zrównoważone przez inne, które nie mają tego problemu. Dopóki ostateczny estymator nie umieści wszystkich swoich jajek w niewłaściwym koszyku, powinno być dobrze (i dlatego potrzebujemy tutaj weryfikacji krzyżowej, aby upewnić się, że tak się nie stanie).

  1. My będziemy trenować ostatecznej prognozy na pełnym zestawem szkoleniowym - to dzieje się po to, aby znaleźć optymalne parametry lub zestaw bazowych estymatorów wykorzystujących krzyżowej walidacji. Jak sama nazwa wskazuje, walidacja krzyżowa ma na celu walidację metody. Nie do tworzenia ostatecznego modelu.