R 使用套索回归的交叉验证来寻找最佳调谐参数λ;

R 使用套索回归的交叉验证来寻找最佳调谐参数λ;,r,lasso-regression,R,Lasso Regression,通过使用交叉验证,我想找到预测变量“收入”的套索回归的最佳调整参数lambda和相应系数 我对这一切都很陌生,对步骤的顺序(以及其他一切)非常困惑 到目前为止,我的代码是: library(glmnet) set.seed(1) grid <- 10^seq(10, -2, length.out=100) x <- model.matrix(income~., data) y <- data$income train <- sample(1:nrow(x), nrow

通过使用交叉验证,我想找到预测变量“收入”的套索回归的最佳调整参数lambda和相应系数

我对这一切都很陌生,对步骤的顺序(以及其他一切)非常困惑

到目前为止,我的代码是:

library(glmnet)
set.seed(1)
grid <- 10^seq(10, -2, length.out=100)

x <- model.matrix(income~., data)
y <- data$income

train <- sample(1:nrow(x), nrow(x)/2)
test <- (-train)


# build the model
lasso.model <- cv.glmnet(x[train, ], y[train], alpha=1, lambda=grid) #sets unimportant variables to zero
plot(lasso.model)

best_lambda <- lasso.model$lambda.min # best lambda equals 0.01


#refit our model using the full data set and best_lambda
lasso.model.full <-glmnet(x, y, alpha=1)
  
lasso.predict <- predict(lasso.model.full, type="coefficients",
                         s=best_lambda)
lasso.predict[-c(1,2), ] # coefficients for optimal lambda
                        -lasso.predict)^2)
库(glmnet)
种子(1)
网格