Middle
Jak podzielić dane na warstwy do walidacji?
sobes.tech AI
Odpowiedź od AI
Stratyfikacja danych podczas walidacji jest konieczna, aby zachować proporcje klas lub innych ważnych cech w zbiorach treningowych i testowych. Jest to szczególnie ważne w przypadku danych niezbalansowanych.
Jak dzielić dane na straty:
- Zidentyfikować kluczową cechę do stratifikacji (np. klasę docelową).
- Używać metod stratifikowanego podziału, takich jak StratifiedKFold lub train_test_split z parametrem stratify w scikit-learn.
Przykład z scikit-learn:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, stratify=y, random_state=42
)
W ten sposób zapewniasz, że rozkład klas w zbiorach treningowych i testowych będzie taki sam, co poprawi jakość oceny modelu.