使用glmnet / glmnetUtils对lambda和alpha进行重复交叉验证

时间:2017-08-30 13:06:46

标签: glmnet

我使用mice创建了一些多重插补数据集:

library(glmnetUtils)
library(mice)

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

使用glmnetUtils,可以同时交叉验证alpha和lambda:

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

问题:

  • 如何使用glmnetUtils
  • 运行重复的交叉验证
  • 如何将流程并行化?我的真实训练数据集有71,200个观测值,大约需要4个小时才能完成一次交叉验证。

1 个答案:

答案 0 :(得分:1)

要进行并行计算,您只需要遵循glmnetUtils手册。 在您的情况下,您可以执行以下操作。

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