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

Afledte ord

1

Kilder

1