【发布时间】:2020-11-20 03:00:05
【问题描述】:
我在 R 中使用 glmnet 包,而不是(!)caret 包用于我的二进制 ElasticNet 回归。我已经到了想要比较模型的地步(例如,lambda 设置为 lambda.1se 或 lambda.min,以及 k-fold 设置为 5 或 10 的模型)。但是,我还没有为我的模型计算AICc 或BIC。我怎么做?我试过this 和this 但它对我不起作用,我只得到一个空列表。
代码:
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?
【问题讨论】:
标签: r machine-learning regression model-comparison