Wprowadzenie
K-Fold Cross Validation (Walidacja Krzyżowa K-Krotna) to standardowa technika oceny wydajności modeli uczenia maszynowego. Polega na podziale zbioru danych na K równych części (foldów), a następnie trenowaniu i testowaniu modelu K razy, za każdym razem używając innego foldu jako zbioru testowego.
Jak działa K-Fold Cross Validation?
- Losowo (lub stratyfikowanie) dzielimy dane na K foldów
- Dla każdej iteracji:
- Trenujemy model na K-1 foldach
- Testujemy na pozostałym 1 foldzie
- Obliczamy średnią metrykę ze wszystkich K iteracji
Najczęściej stosowane wartości K to 5 lub 10.
Warianty K-Fold
- Stratified K-Fold – zachowuje proporcje klas (zalecany przy klasyfikacji)
- Repeated K-Fold – wielokrotne powtarzanie walidacji
- Leave-One-Out (LOO) – K = liczba próbek (bardzo kosztowne)
- Time Series Cross Validation – dla danych sekwencyjnych
Zastosowania
- Ocena i porównywanie modeli
- Dobór hiperparametrów (Grid Search, Random Search, Bayesian Optimization)
- Detekcja overfittingu
- Estymacja rzeczywistej wydajności modelu
- Walidacja w projektach MLOps i AutoML
Zalety i wady
- Zalety: skuteczna ochrona przed overfittingiem, efektywne wykorzystanie danych, niska wariancja wyniku
- Wady: większy koszt obliczeniowy (trenowanie K razy), nie nadaje się do bardzo dużych zbiorów bez optymalizacji
Najlepsze praktyki (2026)
- Używanie Stratified K-Fold przy niezbalansowanych danych
- K = 10 jako domyślna wartość
- Łączenie z Nested Cross Validation przy dostrajaniu hiperparametrów
- Wykorzystanie bibliotek (scikit-learn, XGBoost, LightGBM)
- Walidacja na oddzielnym zbiorze testowym (Hold-out) po finalnym wyborze modelu
Powiązane pojęcia
Cross Validation • Stratified K-Fold • Overfitting • Hyperparameter Tuning • Train-Test Split • Leave-One-Out • Bootstrap • Model Evaluation