我正在使用glmnet
R 中的包,而不是(!)caret
我的二进制 ElasticNet 回归的包。我已经到了我想比较模型的地步(例如 lambda 设置为lambda.1se
or lambda.min
,以及k-fold
设置为 5 或 10 的模型)。但是,我还没有为我的模型计算AICc
or BIC
。我怎么做?我试过这个和这个,但它对我不起作用,我只得到一个空列表。代码:
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
#???
我怎样才能找到AICc
最BIC
适合我的模型?