首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化

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

作者头像
拓端
发布2022-04-13 16:38:03
发布2022-04-13 16:38:03
1.8K0
举报
文章被收录于专栏:拓端tecdat拓端tecdat

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

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

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

代码语言:javascript
复制
df <- data.frame(a,b,c,z)
 
x <- as.matrix(df)\[,-4\]
代码语言:javascript
复制
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(收缩水平)。

代码语言:javascript
复制
elacv <- cv(x, v)



bestbda <- elacv$lambda.min

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

代码语言:javascript
复制
coef(elamod)

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

代码语言:javascript
复制
predict(elasod, x)


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

预测结果可视化:

预测结果:

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档