【发布时间】:2021-02-12 17:07:20
【问题描述】:
我目前有类似下面的代码。
set.seed(1)
library(glmnet)
matrix_example <- matrix(runif(100000), ncol = 50)
grid <- 10 ^ seq(20, -2, length = 500)
x <- matrix_example[, -1]
y <- matrix_example[, 1] %>%
scale(center = TRUE, scale = FALSE) %>%
as.matrix()
fit_cv_glmnet <- cv.glmnet(x, y, lambda = grid, alpha = 1)
fit_glmnet <- glmnet(x, y, lambda = grid, alpha = 1)
但是,当我运行 cv.glmnet 时,我收到以下警告消息
Warning messages:
1: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
2: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
3: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
4: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
5: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
6: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
7: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
8: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
9: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
10: In regularize.values(x, y, ties, missing(ties), na.rm = na.rm) :
collapsing to unique 'x' values
当我运行glmnet 时,我根本没有收到此消息。我收到cv.glmnet 的警告有什么原因吗?它与函数计算交叉验证错误的方式有关吗?正如我所说,glmnet 函数工作正常,我能够识别出其模型对应于最小 BIC 的 lambda。
谢谢。
【问题讨论】: