R语言 弹性网回归
弹性网回归是一种分类算法,它克服了lasso(最小绝对收缩和选择算子)方法的局限性,该方法在其L1正则化中使用了一个惩罚函数。弹性网回归是一种混合方法,它融合了套索和山脊方法的L2和L1正则化的惩罚。
它在一个两阶段的过程中找到一个估计值,即首先对于每个固定的λ^2,它找到山脊回归系数,然后做一个套索回归类型的收缩,它做了双倍的收缩,最终导致偏差的增加和不良预测。通过将估计的系数乘以 **(1 + λ^2 ) **,对天真的弹性网版本的系数进行重新缩放,以提高预测性能。弹性网回归被用于。
- 度量衡学习
- 投资组合优化
- 癌症预后
弹性网回归总是以最小化以下损失函数为目标。
弹性网还允许我们调整α参数,其中α=0对应于Ridge回归,α=1对应于Lasso回归。同样,当α=0时,惩罚函数降低为L1(Ridge)正则化,而当α=1时,惩罚函数降低为L2(Lasso)正则化。因此,我们可以选择一个介于0和1之间的α值来优化Elastic Net,这将缩小一些系数,并将一些系数设置为0,以便进行稀疏选择。在弹性网回归中,lambda超参数主要和严重依赖于alpha超参数。现在让我们在R编程中实现弹性网回归。
在R中实现
数据集
mtcars (motor trend car road test)包括32辆汽车的油耗、性能和汽车设计的10个方面。它预装了R中的dplyr包。
输出:
对数据集进行弹性网络回归
通过使用数据集中的特征或变量训练模型,在数据集上使用弹性网回归算法。
输出
- 弹性网回归模型的训练:
弹性网回归模型的训练是为了找到最佳的alpha和lambda值。
- 模型elastic_model:
弹性网回归模型使用alpha值为0.6242021,lambda值为1.801398。RMSE被用来选择使用最小值的最佳模型。
- 模型预测:
使用Y数据集对模型进行预测,数值显示。
- 多重R-Squared:
disp的多重R-Squared值为0.9514679。
- 绘图:
混合百分比与不同正则化参数值的RMSE分数一起绘制。
所以,弹性网回归的应用在很多行业领域都有充分的能力。