运行 ridge 时 lambda 错误
Error in lambda when running ridge
我是运行下面的代码但是一直收到错误信息。代码来自ISLR网站
library(ISLR)
Hitters=na.omit(Hitters)
x=model.matrix(Salary~.,Hitters)[,-1]
y=Hitters$Salary
library(glmnet)
ridge.mod=glmnet(x,y,alpha=0,lambda=grid)
错误信息:
Error in lambda < 0 : comparison (3) is possible only for atomic and list types
如果有任何帮助,我将不胜感激。谢谢!
您的问题在这里:
ridge.mod=glmnet(x,y,alpha=0,lambda=grid)
grid 是 R 函数的名称(试试 '?grid'),但 glmnet 需要 lambda 值向量。
如果你 运行 glmnet 没有提供 lambda 序列,glmnet 库使用它自己的启发式来选择 lambdas:
ridge.mod=glmnet(x,y,alpha=0)
您也可以提供自己的序列:
ridge.mod=glmnet(x,y,alpha=0, lambda=seq(10, 1000, 1))
但 glmnet 帮助建议不要这样做。
lambda A user supplied lambda sequence. Typical usage is to have the
program compute its own lambda sequence based on nlambda and
lambda.min.ratio. Supplying a value of lambda overrides this. WARNING:
use with care. Avoid supplying a single value for lambda (for
predictions after CV use predict() instead). Supply instead a
decreasing sequence of lambda values. glmnet relies on its warms
starts for speed, and its often faster to fit a whole path than
compute a single fit.
(请注意,上面的 'seq(10, 1000, 1)' 只是一个显示正确语法的示例。)
我是运行下面的代码但是一直收到错误信息。代码来自ISLR网站
library(ISLR)
Hitters=na.omit(Hitters)
x=model.matrix(Salary~.,Hitters)[,-1]
y=Hitters$Salary
library(glmnet)
ridge.mod=glmnet(x,y,alpha=0,lambda=grid)
错误信息:
Error in lambda < 0 : comparison (3) is possible only for atomic and list types
如果有任何帮助,我将不胜感激。谢谢!
您的问题在这里:
ridge.mod=glmnet(x,y,alpha=0,lambda=grid)
grid 是 R 函数的名称(试试 '?grid'),但 glmnet 需要 lambda 值向量。
如果你 运行 glmnet 没有提供 lambda 序列,glmnet 库使用它自己的启发式来选择 lambdas:
ridge.mod=glmnet(x,y,alpha=0)
您也可以提供自己的序列:
ridge.mod=glmnet(x,y,alpha=0, lambda=seq(10, 1000, 1))
但 glmnet 帮助建议不要这样做。
lambda A user supplied lambda sequence. Typical usage is to have the program compute its own lambda sequence based on nlambda and lambda.min.ratio. Supplying a value of lambda overrides this. WARNING: use with care. Avoid supplying a single value for lambda (for predictions after CV use predict() instead). Supply instead a decreasing sequence of lambda values. glmnet relies on its warms starts for speed, and its often faster to fit a whole path than compute a single fit.
(请注意,上面的 'seq(10, 1000, 1)' 只是一个显示正确语法的示例。)