stratified cross-validation
Stratificeret krydsvalidering er en variant af krydsvalidering, hvor data opdeles i folder, der bevarer den samme klassefordeling som det oprindelige datasæt.
Kort fortalt
Kort fortalt: En måde at teste en model på, hvor man sikrer, at hver del af data har samme blanding af klasser som hele datasættet, så resultaterne bliver mere pålidelige.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En valideringsteknik, hvor datasættet opdeles i k folder, således at hver fold indeholder omtrent samme andel af hver klasse som det fulde datasæt. Dette reducerer varians i estimatet af modellens ydeevne sammenlignet med almindelig krydsvalidering.
- For at undgå skæve resultater brugte vi stratificeret krydsvalidering med 5 folder.
- Ved ubalance i klasserne er stratificeret krydsvalidering at foretrække frem for simpel krydsvalidering.
Hvornår bruges det
Stratificeret krydsvalidering bruges ofte ved klassifikationsproblemer med ubalance i klassefordelingen, fx når en klasse udgør kun 10% af data. Det sikrer, at hver fold afspejler den globale fordeling, så evalueringsmetrikker som F1-score ikke bliver misvisende.
Kodeeksempel
from sklearn.model_selection import StratifiedKFold
skf = StratifiedKFold(n_splits=5)
for train_idx, test_idx in skf.split(X, y):
X_train, X_test = X[train_idx], X[test_idx]
y_train, y_test = y[train_idx], y[test_idx]Eksempel på brug af stratificeret krydsvalidering med scikit-learn. Data opdeles i 5 folder baseret på target-vektoren y.
Oprindelse
Udtrykket 'stratified' kommer fra statistik, hvor 'stratum' betyder lag eller gruppe; her henviser det til at opdele data i strata (klasser) og derefter tage stikprøver fra hvert stratum for at bevare fordelingen.