#Lasso回归+交叉验证包
library(glmnet)
#1.数据转矩阵函数:data.matrix()
x <- data.matrix(Vdata2[,12:108])
y <- data.matrix(Vdata2$MACE)
#2.lasso回归
fit<- glmnet(x, y,family="binomial",alpha=1)
#3.可视化结果
plot(fit, xvar="lambda", label=T)
#4.使用交叉验证来确定最佳的lambda。默认nfolds=10
cv.fit <- cv.glmnet(x, y,
family="binomial",
alpha = 1)
plot(cv.fit)
#5.显示两个惩罚值(调优系数)下的变量及其回归系数
ridge.coef1 <- predict(fit, s=cv.fit$lambda.1se, type = "coefficients");ridge.coef1
ridge.coef2 <- predict(fit, s=cv.fit$lambda.min, type = "coefficients");ridge.coef2
## 这里我们以lambda.1se为最优 λ
best_lambda <- cv.fit$lambda.1se
best_lambda
print(fit)#把fit结果输出,核对λ对应变量数量
2.0 LASSO
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本文转自易学统计基于Lasso回归筛选变量构建Cox模型并绘制Nomogram[https://mp.weixin...
- 岭回归 岭回归 的损失函数 MSE+L2 岭回归还是多元线性回归 y = wTx 只不过损失函数MSE添加了损失...