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

全文代码数据 

最近我们被客户要求撰写关于弹性网络Elastic Net的研究报告,包括一些图形和统计输出。

弹性网络正则化同时应用 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]


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

elacv <- cv(x, v)



bestbda <- elacv$lambda.min

 


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


coef(elamod)


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

 

predict(elasod, x)


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值