I am using the glmnet
package in R, and not(!) the caret
package for my binary ElasticNet regression. I have come to the point where I would like to compare models (e.g. lambda set to lambda.1se
or lambda.min
, and models where k-fold
is set to 5 or 10). But, I have not yet achieved to compute the AICc
or BIC
for my models. How do I do that? I tried this and this but it did not work for me, I only get an empty list.
Code:
set.seed(123)
foldid <- sample(rep(seq(10), length.out = nrow(x.train)))
list.of.fits.df <- list()
for (i in 0:10){
fit.name <- paste0("alpha", i/10)
list.of.fits.df[[fit.name]] <- cv.glmnet(x.train, y.train, type.measure = c("auc"), alpha = i/10, family = "binomial", nfolds = 10, foldid = foldid, parallel = TRUE)
}
best.fit <- coef(list.of.fits.df[[fit.name]], s = list.of.fits.df[[fit.name]]$lambda.1se)
best.fit.min <- coef(list.of.fits.df[[fit.name]], s = list.of.fits.df[[fit.name]]$lambda.min)
#AICc & BIC
#???
How do I find an AIC
and/or BIC
value from my list.of.fits[[fit.name]]$lambda.min
?