Middle — Senior
Jak używać walidacji krzyżowej do oceny modelu?
sobes.tech AI
Odpowiedź od AI
Walidacja krzyżowa jest metodą oceny jakości modelu uczenia maszynowego, która pomaga sprawdzić, jak dobrze model będzie działał na nowych danych. Głównym pomysłem jest podzielenie oryginalnego zbioru danych na kilka części (folds), wytrenowanie modelu na niektórych częściach i sprawdzenie go na pozostałych.
Najczęściej stosowaną wersją jest walidacja krzyżowa k-fold:
- Podziel dane na k równych części.
- Dla każdej z k części:
- Wytrenuj model na pozostałych k-1 częściach.
- Przetestuj model na bieżącej części (zbiór walidacyjny).
- Średnia wartość metryk ze wszystkich k iteracji daje bardziej wiarygodną ocenę jakości modelu.
To pomaga uniknąć nadmiernego dopasowania i uzyskać bardziej obiektywną ocenę niż proste podział na zbiór treningowy i testowy.
Przykład w Pythonie z użyciem scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5) # walidacja krzyżowa 5-krotna
print(f"Średnia dokładność: {scores.mean():.2f}")