【发布时间】:2021-05-05 15:02:49
【问题描述】:
我正在使用 R 中的 glmnet 包对数据集执行弹性网络逻辑回归。 我正在通过交叉验证调整 Alpha。请参阅下面的 R 代码:
for(j in 1:length(a)){
for (i in 1:nAlphaIterations){
set.seed(i)
cv <- cv.glmnet(X_dataset, Y_dataset, nfold = 10, family = "binomial", type.measure = "deviance", standardize = TRUE, paralle = F, alpha = a[j])
currAlpha <- data.frame(
cvm = cv$cvm[cv$lambda == cv$lambda.1se],
lambda.1se = cv$lambda.1se,
alpha = a[j],
seed = i)
allAlpha <- rbind(allAlpha, currAlpha) # all current alphas combined
}
print(j)
}
但是,我不确定应该使用哪种类型的度量来确定 alpha。偏差?还是 AUC 更好?
【问题讨论】:
-
这种方法的问题是每次 CV 运行都会有不同的数据拆分。评价会很吵。绩效衡量的类型主要取决于任务。但是我不认为越轨是一种选择。
标签: r cross-validation glmnet