r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

简介: r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

介绍

Glmnet是一个通过惩罚最大似然来拟合广义线性模型的包。正则化路径是针对正则化参数λ的值网格处的套索或弹性网络罚值计算的。该算法速度极快,可以利用输入矩阵中的稀疏性x。它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。

glmnet算法采用循环坐标下降法,它连续优化每个参数上的目标函数并与其他参数固定,并反复循环直至收敛。该软件包还利用强大的规则来有效地限制活动集。由于高效的更新和技术,如热启动和主动集合收敛,我们的算法可以非常快地计算解决方案路径。

该代码可以处理稀疏的输入矩阵格式,以及系数的范围约束。其核心glmnet是一组Fortran子程序,它们使执行速度非常快。

该软件包还包括用于预测和绘图的方法以及执行K倍交叉验证的功能。

首先,我们加载glmnet包:



library(glmnet)

包中使用的默认模型是高斯线性模型或“最小二乘”,我们将在本节中演示。我们加载一组预先创建的数据用于说明。用户可以加载自己的数据,也可以使用保存在工作区中的数据。


load("QuickStartExample.RData")

该命令从该保存的R数据档案中加载输入矩阵x和响应向量y。


我们使用最基本模型glmnet。



fit=glmnet(x,y)

“适合”是类的一个对象,glmnet它包含拟合模型的所有相关信息以供进一步使用。我们不鼓励用户直接提取组件。相反,提供对象,如各种方法plot,print,coef和predict,使我们能够更优雅执行这些任务。



我们可以通过执行plot函数来显示系数:

MSE 测试集

我们看到lasso(alpha=1)在这里做的最好。我们也看到,使用的lambda的范围与alpha不同。


系数上限和下限

这些是最近添加的增强模型范围的功能。假设我们想要拟合我们的模型,但将系数限制为大于-0.7且小于0.5。这是很容易通过实现upper.limits和lower.limits参数:


惩罚因素

该参数允许用户对每个系数应用单独的惩罚因子。其每个参数的默认值为1,但可以指定其他值。特别是,任何penalty.factor等于零的变量都不会受到惩罚!让[ 数学处理错误]vĴ表示[ 数学处理错误]的惩罚因子Ĵ变量。罚款期限变为[ 数学处理错误] 请注意,惩罚因子在内部重新调整为与nvars相加。

当人们对变量有先验知识或偏好时,这非常有用。在很多情况下,一些变量可能非常重要,以至于一直想要保持这些变量,这可以通过将相应的惩罚因子设置为0来实现:

相关文章
|
7月前
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
|
7月前
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
3月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
4月前
|
人工智能 文字识别
通义语音AI技术问题之LCB-net模型对幻灯片中文本信息的使用如何解决
通义语音AI技术问题之LCB-net模型对幻灯片中文本信息的使用如何解决
23 0
|
6月前
|
机器学习/深度学习 JSON 测试技术
CNN依旧能战:nnU-Net团队新研究揭示医学图像分割的验证误区,设定先进的验证标准与基线模型
在3D医学图像分割领域,尽管出现了多种新架构和方法,但大多未能超越2018年nnU-Net基准。研究发现,许多新方法的优越性未经严格验证,揭示了验证方法的不严谨性。作者通过系统基准测试评估了CNN、Transformer和Mamba等方法,强调了配置和硬件资源的重要性,并更新了nnU-Net基线以适应不同条件。论文呼吁加强科学验证,以确保真实性能提升。通过nnU-Net的变体和新方法的比较,显示经典CNN方法在某些情况下仍优于理论上的先进方法。研究提供了新的标准化基线模型,以促进更严谨的性能评估。
163 0
|
6月前
|
开发框架 .NET 对象存储
【.NET Core】深入理解异步编程模型(APM)
【.NET Core】深入理解异步编程模型(APM)
120 1
|
6月前
|
SQL 开发框架 .NET
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
(20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)
|
7月前
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型