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).