Przejdź do głównej zawartości

cross_validation

czym jest cross-validation?

  • Metoda oceny modelu polegająca na wielokrotnym dzieleniu danych na zbiory treningowe i testowe.
  • Najpopularniejsza: k-fold cross-validation (np. 5-krotna, 10-krotna).
  • Pozwala lepiej ocenić, jak model generalizuje na nowe dane.

jak działa k-fold cross-validation?

  • Dzielisz dane na k równych części (foldów).
  • Trenujesz model na k-1 częściach, testujesz na pozostałej.
  • Powtarzasz k razy, za każdym razem inny fold jest testowy.
  • Wynik: średnia metryka ze wszystkich foldów.

przykładowy kod (scikit-learn)

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LinearRegression
scores = cross_val_score(LinearRegression(), X, y, cv=5, scoring='neg_mean_squared_error')
print(scores)
print(scores.mean())

praktyczne ćwiczenia

  • Zastosuj 5-fold cross-validation do regresji liniowej.
  • Porównaj wyniki cross-validation z pojedynczym podziałem train/test.
  • Przetestuj różne wartości k (np. 3, 5, 10).

dobre praktyki

  • Używaj cross-validation do oceny modeli, zwłaszcza przy małej ilości danych.
  • Nie używaj tych samych danych do treningu i testu.
  • W przypadku danych sekwencyjnych stosuj specjalne warianty (np. TimeSeriesSplit).

polecane źródła