sklearn 5.18.1 lasso path using LARS

本文探讨了如何利用sklearn库中的LARS算法来实现Lasso回归的路径选择。通过这种方式,可以理解在不同正则化参数下特征的重要性变化,从而进行变量选择和模型优化。
# 基于糖尿病的数据集,基于Lasso计算特则的相关系数路径,Lasso中对L1正则项进行优化
# 图示中每一个颜色代表了一个特征值的相关系数向量
# 本例中使用Lasso模型基于数据集进行优化,得到不同超参数值的情况下,相关系数的解
# 例子中并没有输出对数据集拟合的结果,只输出参数相关信息
# 因为L1正则化容易产生稀疏解,也常用来做特征选择
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
from sklearn import datasets
# 载入糖尿病数据集,用于回归模型,442个样本,10个特征值,特征值取值范围为(-2,2),目标值取值范围为(25,346)
diabetes = datasets.load_diabetes()
X = diabetes.data
y = diabetes.target
# linear_model模块下的函数,最小角回归计算lasso路径
# 参数method,与选择的优化对象有关,可选lar或lasso
# 参数max_iter,最大迭代次数
# 参数alpha_min,路径上最小相关系数值,与Lasso算法中正则化参数alpha相对应
# 参数method,选择返回模型类型,lar代表最小角回归,lasso代表Lasso
# 参数return_path,为真时返回完整路径上的值,否则只返回路径上最后一个点的值
# 参数positive,严格限制相关系数>=0,只限于lasso算法下
# 返回值alphas,数组,大小为n_alphas+1,返回每一次迭代的最大方差,n_alphas取max_iter或者路径上alpha大于alpha_min的个数,两者中较小的那个
# 返回值active,数组,大小为n_alphas,返回路径结束时活跃的变量索引
# 返回值coefs,数组,大小为(n_features,n_alphas+1),路径上的相关系数
alphas, active, coefs, n_iter = linear_model.lars_path(X, y, method='lasso', return_n_iter=True, ve
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值