cvms | Cross-Validation for Model Selection

Da jeg i forbindelse med min uddannelse i Cognitive Science skulle lære at arbejde med cross-validation i R, bestemte jeg mig for at skrive en cross-validation funktion, som kunne håndtere de fleste af de opgaver, vi blev udsat for. Det er nu blevet til en pakke, der gør det let og hurtigt at sammenligne gaussiske og binomiale regressionsmodeller med lm(), lmer(), glm() og glmer().

Inden man bruger cross_validate(), bruger man groupdata2::fold() til at lave balancerede folds.

Man kan afprøve flere modeller på en gang og får de modelrelevante metrics tilbage.

https://github.com/LudvigOlsen/cvms

Eksempel på kode, der først laver folds og derefter laver cross-validation på den angivede model. data er et data frame med observationer af en række patienter med forskellige diagnoser og en tilknyttet score fra et spil eller lignende. Folds balanceres således at der er nogenlunde lige mange fra hver diagnose i hver fold og en patient kun optræder i 1 fold.

cv <- groupdata2::fold(data,
k = 5,
cat_col = 'diagnose',
id_col = 'patient_ID') %>%
cross_validate("score~diagnosis",
folds_col = '.folds',
family='gaussian',
REML = FALSE)

Date: oktober 2016
Skills: Programmering, R