cv.glmnet仅返回最高正则化参数

时间:2018-07-15 21:36:23

标签: r cross-validation glmnet

我正在使用具有不同lambda值的glmnet测试此简单的交叉验证代码。我想找到最佳的λ值。每次我使用一系列lambda值运行它时,结果只能得到最高的lambda。

例如:

set.seed(19874)
X=matrix(rnorm(500*500), nrow=500, ncol=500)
Y=matrix(rnorm(500), nrow=500, ncol=1)
lambdas=seq(0.01,0.5, length.out = 50)
cv.err=cv.glmnet(X,Y,alpha=1, lambda = lambdas)
bestlam=cv.err$lambda.min

在此示例中,bestlam=0.5。如果我将lambda序列更改为20 lambdas=seq(0.01,20, length.out = 50)bestlam=20,依此类推。

最好的lambda总是最高的。

我不确定这是否正确,因为该lambda值会将所有系数设置为零。

0 个答案:

没有答案