Zabawy z Boston Housing zestawem danych i RandomForestRegressor
(W / domyślne parametry) w scikit-learn, zauważyłem coś dziwnego: średni wynik walidacji krzyżowej spadła jak zwiększona ilość fałd poza 10. Moja strategia cross-walidacja była następująca:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... gdzie num_cvs
było zróżnicowane. Ustawić test_size
na 1/num_cvs
lustro pociągu / test zachowania rozmiar podzielonego K-krotnie CV. Zasadniczo chciałem coś w rodzaju k-fold CV, ale potrzebowałem także losowości (stąd ShuffleSplit).
Próbę tę powtórzono kilka razy, a następnie wykreślono średnie wyniki i odchylenia standardowe.
(Zwróć uwagę, że rozmiar k
jest wskazywany przez obszar koła; odchylenie standardowe jest na osi Y).
Konsekwentnie, zwiększenie k
(z 2 do 44) dałoby krótki wzrost wyniku, a następnie stały spadek w k
miarę dalszego zwiększania (ponad ~ 10-krotnie)! Jeśli już, spodziewam się, że więcej danych treningowych doprowadzi do niewielkiego wzrostu wyników!
Aktualizacja
Zmiana kryteriów punktacji na błąd bezwzględny skutkuje zachowaniem, którego się spodziewałam: punktacja poprawia się wraz ze wzrostem liczby krotności w K-krotnie CV, a nie zbliża się do 0 (jak w przypadku domyślnego „ r2 ”). Pozostaje pytanie, dlaczego domyślna metryka punktacji skutkuje słabą wydajnością zarówno dla średniej, jak i metryki STD dla rosnącej liczby krotności.
Odpowiedzi:
Wynik r ^ 2 jest niezdefiniowany, gdy stosuje się go do pojedynczej próbki (np. CV z pominięciem jednego).
r ^ 2 nie jest dobry do oceny małych zestawów testowych: gdy jest używany do oceny wystarczająco małego zestawu testowego, wynik może być daleko w przeczeniach, pomimo dobrych prognoz.
Biorąc pod uwagę pojedynczą próbkę, dobre prognozy dla danej domeny mogą wydawać się okropne:
Zwiększ rozmiar zestawu testowego (zachowując tę samą dokładność prognoz) i nagle wynik r ^ 2 wydaje się prawie idealny:
Jeśli chodzi o drugą skrajność, jeśli rozmiar testu wynosi 2 próbki, a my przypadkowo oceniamy 2 próbki, które są blisko siebie przez przypadek, będzie to miało znaczący wpływ na wynik r ^ 2, nawet jeśli prognozy są całkiem dobre :
źródło