R语言做LASSO 回归
时间: 2023-10-23 09:09:55 浏览: 273
LASSO(Least Absolute Shrinkage and Selection Operator)回归是一种常用的变量筛选方法,它可以通过惩罚项来缩小变量的系数,从而实现变量筛选和模型压缩的目的。
在R语言中,可以使用glmnet包来进行LASSO回归分析。以下是LASSO回归的R代码示例:
首先,加载数据和glmnet包:
```R
library(glmnet)
data(iris)
```
然后,将数据集分为训练集和测试集:
```R
set.seed(1234)
train <- sample(nrow(iris), 0.7 * nrow(iris))
train.data <- iris[train, ]
test.data <- iris[-train, ]
```
接着,使用glmnet函数进行LASSO回归,其中alpha参数用于控制惩罚项的类型,当alpha=1时表示Lasso回归:
```R
fit <- glmnet(as.matrix(train.data[, -5]), train.data[, 5], alpha = 1)
```
通过cv.glmnet函数可以进行交叉验证,选择最优的惩罚参数lambda:
```R
cv.fit <- cv.glmnet(as.matrix(train.data[, -5]), train.data[, 5], alpha = 1)
best.lambda <- cv.fit$lambda.min
```
最后,可以使用predict函数进行预测:
```R
predictions <- predict(fit, newx = as.matrix(test.data[, -5]), s = best.lambda)
```
以上就是LASSO回归在R语言中的实现方法。
阅读全文