Home

Kryssvalidering

Kryssvalidering, eller cross-validation, är en återupprepande valideringsmetod inom statistik och maskininlärning som används för att uppskatta hur bra en modell förväntas prestera på ny data. Metoden delar ofta data i flera avsnitt och upprepar modellbygge och utvärdering över olika uppsättningar. Syftet är att motverka överanpassning, ge en mer tillförlitlig bedömning av generaliserbarheten och reducera beroendet av en enda train-test-splits.

Vanliga former är k-falds kryssvalidering där data delas i k lika stora folds och modellen tränas på

Processen innebär att dela data i folds, träna på k−1 och utvärdera på den återstående, upprepa tills

Begränsningar inkluderar risk för dataläckage om funktioner skapas på hela datasetet före uppdelningen, hög beräkningskostnad för

k−1
folds
medan
den
valideras
på
den
återstående.
Stratifierad
k-falds
CV
bevarar
klassfördelningen
i
varje
fold
vid
klassificering.
Leave-One-Out
CV
(LOOCV)
använder
varje
prov
som
validering.
Upprepad
CV
och
nestlad
CV
används
för
hyperparametertuning
och
modelljämförelse.
För
tidsserier
bör
valideringen
bevara
tidsordningen
genom
tidsbaserad
eller
blockbaserad
metod.
varje
fold
varit
validering.
Prestanda
sammanfattas
med
mått
som
noggrannhet,
ROC-AUC,
F1
eller
RMSE.
Kryssvalidering
används
för
modelljämförelse
och
hyperparameter-tuning,
ofta
i
nestlad
konfiguration
där
inner
CV
används
för
parametertuning
utan
att
påverka
den
oberoende
utvärderingen.
stora
dataset
och
att
LOOCV
kan
ha
hög
varians.
I
icke-iid-data
eller
tidsserier
måste
valideringen
anpassas
för
att
inte
överoptimera
mot
tidigare
data.
Vanliga
implementationer
finns
i
scikit-learn
(KFold,
StratifiedKFold,
LeaveOneOut,
cross_val_score,
cross_validate)
samt
i
R.