2017-08-30 30 views
0

我用mice創建一些多重插補數據集:對於α和拉姆達同時重複的λ和α交叉驗證與glmnet/glmnetUtils

library(glmnetUtils) 
library(mice) 

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

使用glmnetUtils,有可能交叉驗證:

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

問題:

  • 如何使用glmnetUtils運行重複交叉驗證?
  • 我該如何平行化過程?我真正的訓練數據集有71,200個觀測值,大約需要4個小時才能完成一次交叉驗證。

回答

0

要做並行計算,你只需要按照glmnetUtils手冊。 就你而言,你可以做類似下面的事情。

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