​原文链接:http://tecdat.cn/?p=26158​

原文出处:​​拓端数据部落公众号​

弹性网络​​正则化​​同时应用 L1 范数和 L2 范数正则化来惩罚回归模型中的系数。为了在 R 中应用弹性网络正则化。在 LASSO回归中,我们为 alpha 参数设置一个 '1' 值,并且在 岭回归中,我们将 '0' 值设置为其 alpha 参数。弹性网络在 0 到 1 的范围内搜索最佳 alpha 参数。在这篇文章中,我们将学习如何在 R 中应用弹性网络正则化。

首先,我们将为本教程创建测试​​数据集​​。

df <- data.frame(a,b,c,z)





x <- as.matrix(df)[,-4]
for (i in 1:length(alpha)) 



{





bst$mse <- c(bet$mse, min(cg$cm))



}





inx <- which(bst$mse==min(bst$mse))



betlha <- bs$a[inex]



be_mse <- bst$mse[inex]

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_正则化

接下来,我们再次使用最佳 alpha 进行交叉验证以获得 lambda(收缩水平)。


elacv <- cv(x, v)









bestbda <- elacv$lambda.min

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_岭回归_02

 R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_正则化_03

现在,我们可以使用函数拟合具有最佳 alpha 和 lambda 值的模型。


coef(elamod)

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_r语言_04

最后,我们可以使用模型预测测试数据并计算 RMSE、R 平方和 MSE 值。



predict(elasod, x)







cat(" RMSE:", rmse, "\n", "R-squared:", R2, "\n", "MSE:", mse)

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_正则化_05

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_r语言_06

R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_岭回归_07


R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化_正则化_08

最受欢迎的见解

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指标​