【发布时间】:2014-10-05 03:18:06
【问题描述】:
glmnet 包使用一系列 LASSO 调整参数 lambda 从最大值 lambda_max 缩放,在此范围内没有选择预测变量。我想知道glmnet 是如何计算这个lambda_max 值的。例如,在一个平凡的数据集中:
set.seed(1)
library("glmnet")
x <- matrix(rnorm(100*20),100,20)
y <- rnorm(100)
fitGLM <- glmnet(x,y)
max(fitGLM$lambda)
# 0.1975946
包 vignette (http://www.jstatsoft.org/v33/i01/paper) 在第 2.5 节中描述它按如下方式计算此值:
sx <- as.matrix(scale(x))
sy <- as.vector(scale(y))
max(abs(colSums(sx*sy)))/100
# 0.1865232
这显然是接近但不相同的值。那么,造成这种差异的原因是什么?在一个相关问题中,我如何计算 lambda_max 进行逻辑回归?
【问题讨论】:
标签: r glmnet lasso-regression