机器学习与算法(12)--最小角回归(LARS)

最小角回归(LARS)是一种适用于高维数据的回归算法,它能够有效地处理特征数量远大于样本数量的情况。LARS与逐步回归类似,但在面对多个特征与响应变量同样相关时,会选择等角方向进行拟合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                            最小角回归(LARS)

最小角回归(LARS)是对高维数据的回归算法, 由 Bradley Efron, Trevor Hastie, Iain Johnstone 和 Robert Tibshirani 开发完成。 LARS 和逐步回归很像。在每一步,它寻找与响应最有关联的 预测。当有很多预测有相同的关联时,它没有继续利用相同的预测,而是在这些预测中找出应该等角的方向。

示例应用

import numpy as np
import matplotlib.pyplot as plt

from sklearn import linear_model
from sklearn import datasets

diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target

print("Computing regularization path using the LARS ...")
alphas, _, coefs = linear_model.lars_path(X, y, method='lasso', verbose=True)

xx = np.sum(np.abs(coefs.T), axis=1)
xx /= xx[-1]

plt.plot(xx, coefs.T)
ymin, ymax = plt.ylim()
plt.vlines(xx, ymin, ymax, linestyle='dashed')
plt.xlabel('|coef| / max|coef|')
plt.ylabel('Coefficients')
plt.title('LASSO Path')
plt.axis('tight')
plt.show()

优点和缺点

优点:

  1. 当 p >> n,该算法数值运算上非常有效。(例如当维度的数目远超点的个数)
  2. 它在计算上和前向选择一样快,和普通最小二乘法有相同的运算复杂度。
  3. 它产生了一个完整的分段线性的解决路径,在交叉验证或者其他相似的微调模型的方法上非常有用。
  4. 如果两个变量对响应几乎有相等的联系,则它们的系数应该有相似的增长率。因此这个算法和我们直觉 上的判断一样,而且还更加稳定。
  5. 它很容易修改并为其他估算器生成解,比如Least Absolute Shrinkage and Selection Operator。

缺点:

  1. 因为 LARS 是建立在循环拟合剩余变量上的,所以它对噪声非常敏感。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mensyne

你的鼓励是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值