原文链接:http://tecdat.cn/?p=22721
Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量抉择。依据惩办项的大小,LASSO将不太相干的预测因子放大到(可能)零。因而,它使咱们可能思考一个更扼要的模型。在这组练习中,咱们将在R中实现LASSO回归。
练习1
加载糖尿病数据集。这有对于糖尿病的病人程度的数据。数据为n = 442名糖尿病患者中的每个人取得了10个基线变量、年龄、性别、体重指数、均匀血压和6个血清测量值,以及感兴趣的反馈,即一年后疾病停顿的定量测量。"
接下来,加载包用来实现LASSO。
head(data)
练习2
数据集有三个矩阵x、x2和y。x是较小的自变量集,而x2蕴含残缺的自变量集以及二次和交互项。
查看每个预测因素与因变量的关系。生成独自的散点图,所有预测因子的最佳拟合线在x中,y在纵轴上。用一个循环来主动实现这个过程。
summary(x)
for(i in 1:10){ plot(x\[,i\], y) abline(lm(y~x\[,i\])}
练习3
应用OLS将y与x中的预测因子进行回归。咱们将用这个后果作为比拟的基准。
lm(y ~ x)
练习4
绘制x的每个变量系数与向量的L1准则的门路。该图表明每个系数在哪个阶段缩减为零。
plot(model_lasso)
练习5
失去穿插验证曲线和最小化均匀穿插验证误差的lambda的值。
plot(cv_fit)
练习6
应用上一个练习中的lambda的最小值,失去预计的矩阵。留神,有些系数曾经缩减为零。这表明哪些预测因子在解释y的变动方面是重要的。
> fit$beta
练习7
为了失去一个更扼要的模型,咱们能够应用一个更高的值,即在最小值的一个标准误差之内。用这个lambda值来失去系数。留神,当初有更多的系数被缩减为零。
lambda.1se
beta
练习8
如前所述,x2蕴含更多的预测因子。应用OLS,将y回归到x2,并评估后果。
summary(ols2)
练习9
对新模型反复练习-4。
lasso(x2, y)plot(model_lasso1)
练习10
对新模型反复练习5和6,看看哪些系数被缩减为零。当有很多候选变量时,这是放大重要预测变量的无效办法。
plot(cv_fit1)
beta
最受欢迎的见解
1.R语言多元Logistic逻辑回归 利用案例
2.面板平滑转移回归(PSTR)剖析案例实现
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松Poisson回归模型剖析案例
5.R语言回归中的Hosmer-Lemeshow拟合优度测验
6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
7.在R语言中实现Logistic逻辑回归
8.python用线性回归预测股票价格
9.R语言如何在生存剖析与Cox回归中计算IDI,NRI指标`