r - R 中的 cv.lars 错误

标签 r lasso-regression lars

我有一个关于 cv.lars 的问题。下面是我使用的数据的描述:

is.numeric(Y$Y1)
[1] TRUE

length(Y$Y1)
[1] 589


dim(Training_XX[7:ncol(Training_XX)])
[1]  589 5677

我已经使用 lars 包运行了 lasso。我的代码如下:

LASSO_1<-lars(as.matrix(X[7:ncol(X)]), 
              Y$Y1,type=c("lasso"), 
              normalize=TRUE, use.Gram=FALSE).

上面的程序似乎运行良好。但是,当我尝试对 lambda 值进行交叉验证时,出现以下错误:

Error in if (zmin < gamhat) { : missing value where TRUE/FALSE needed

我的交叉验证代码是:

CV<-cv.lars(as.matrix(X[7:ncol(X)]),Y$Y1,use.Gram=FALSE,max.steps=500)
lambda_Y1=CV$index[which.min(CV$cv)]

有人知道发生了什么事吗?我真的不知道那个错误是什么意思,也不知道我的数据(和/或代码)有什么问题。

最佳答案

我遇到了同样的错误,问题(至少在我的情况下)是我的数据矩阵的两列相等。看来 lars 处理得不好。只过滤相关性非常高的列。

关于r - R 中的 cv.lars 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030634/

相关文章:

r - "get_int_parms"不适用于包 "glmnet"的 .Fortran()

r - 我们如何为 glmnet 指定自定义 lambda 序列

r - 如何从R中的Lasso回归获得系数?

r - 绘制带有 x 轴偏移量的时间戳的条形图

php - json_decode 无法读取以 json 格式存储数据的文本文件

python - 如何在以下 Python 代码中权衡套索回归的观察结果?

在 Julia 中重现 R 中的 `expand.grid` 函数

r - 用 R 计算字符串中的空格序列

r - 在 R 中将 LASSO 与分类变量结合使用