拉索回归-编码问题和寻求语法帮助



我试图使用以下页面中的代码进行Lasso回归https://www.rstatisticsblog.com/data-science-in-action/lasso-regression/

问题是,我的r不识别y-var[测试],说它没有找到。当我将其转换为y-var[x-test]时,在这行代码之后,我会得到以下消息

cv_output <- cv.glmnet(x_vars[train,], y_var[train], 
alpha = 1, lambda = lambda_seq)
Error in storage.mode(y) <- "double" : 
invalid to change the storage mode of a factor

我做错了什么?

任何见解都会有所帮助。

您所指的代码中有一些拼写错误/错误。我修复了其中一些,这对我来说很有效:

library(glmnet)
# Loading the data
data(swiss)
x_vars <- model.matrix(Fertility~. , swiss)[,-1]
y_var <- swiss$Fertility
lambda_seq <- 10^seq(2, -2, by = -.1)
set.seed(86)
train <- sample(1:nrow(x_vars), floor(nrow(x_vars)/2))
cv_output <- cv.glmnet(x_vars[train,], y_var[train], 
alpha = 1, lambda = lambda_seq)

我只收到关于grouped=FALSE的警告。

最新更新