r语言 - 如何修复 rep(1,N) 中的错误:使用 glmnet 时'times'参数无效


cv.glmnet(x=anscombe$x1, y=anscombe$y1, family= "binomial", 
type.measure = "class", alpha = 1, nlambda = 100)

发生此错误:

rep(1, N( 中的错误:无效的"times"参数

如果你看一下数据,你的依赖是连续的,所以它应该是高斯的,MSE作为度量:

head(anscombe,3)
x1 x2 x3 x4   y1   y2    y3   y4
1 10 10 10  8 8.04 9.14  7.46 6.58
2  8  8  8  8 6.95 8.14  6.77 5.76
3 13 13 13  8 7.58 8.74 12.74 7.71

出现此错误是因为您在函数需要矩阵时提供了一个向量,并且为 glmnet 输入 1 个变量没有意义,您最好进行回归。如果我们强制它,你会得到一个错误,这几乎总结了它:

cv.glmnet(x=as.matrix(anscombe$x1,ncol=1), y=anscombe$y1, family= "gaussian", 
type.measure = "mse", alpha = 1, nlambda = 100)
Error in glmnet(x, y, weights = weights, offset = offset, lambda = lambda,  : 
x should be a matrix with 2 or more columns

如果您使用多个 1,则它有效:

cv.glmnet(x=as.matrix(anscombe[,c("x1","x2")]), y=anscombe$y1, family= "gaussian", 
type.measure = "mse", alpha = 1, nlambda = 100)

最新更新