2017-08-30 1 views
0

I mice verwendet, um einige mehrfach zugeschrieben Datensätze zu erstellen:Kreuzvalidierung für Lambda und alpha Wiederholte mit glmnet/glmnetUtils

library(glmnetUtils) 
library(mice) 

nhanes <- mice::nhanes 
imp <- mice(nhanes) 
com <- complete(imp, "long") 

glmnetUtils benutzen, ist es möglich, Quer Validierung sowohl für Alpha und Lambda gleichzeitig:

nhanes$hyp <- factor(nhanes$hyp) 
fit <- cva.glmnet(hyp ~ ., data = nhanes, alpha = seq(0, 1, 0.05), family = "binomial") 

Fragen:

  • Wie kann ich wiederholte Kreuzvalidierung mit glmnetUtils ausführen?
  • Wie kann ich den Prozess parallelisieren? Mein richtiger Trainingsdatensatz hat 71 200 Beobachtungen und dauert ungefähr vier Stunden, um eine Kreuzvalidierung durchzuführen.

Antwort

0

Um die parallele Berechnung durchzuführen, müssen Sie nur dem Handbuch glmnetUtils folgen. In Ihrem Fall können Sie etwas wie folgt tun.

numCores = detectCores(logical = FALSE) 
c1<-makeCluster(numCores) 
fit <- cva.glmnet(hyp ~ ., data = nhanes, alpha = seq(0, 1, 0.05), family = "binomial",outerParallel=c1)