千家信息网

如何Python进行Lasso回归选取关键特征

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何Python进行Lasso回归选取关键特征,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天,分享一下La
千家信息网最后更新 2026年11月01日如何Python进行Lasso回归选取关键特征

本篇文章给大家分享的是有关如何Python进行Lasso回归选取关键特征,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

今天,分享一下Lasso回归用于选取关键特征,数据探索性分析时,引入的特征太多,要直接用这些特征建模分析,需要对原始特征进一步筛选,只保留重要的特征,Lasso算法在模型系数绝对值之和小于某常数的条件下,谋求残差平方和最小,在变量选取方面的效果优于逐步回归、主成分回归、岭回归、偏最小二乘等,能较好的克服传统方法在模型选取上的不足。

我们选取部分GDP指标如下所示:


Lasso回归概念


Lasso回归方法属于正则化方法的一种,是压缩估计。它通过构造一个惩罚函数得到一个较对精炼的模型。使用它压缩一些系数,同时设定一些系数为零,保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。


Lasso基本原理


Lasso以缩小特征集(降阶)为思想,是一种收缩估计方法。Lasso方法可以将特征的系数进行压缩并使某些回归系数变为0,进而达到特征选择的目的,可以广泛地应用于模型改进与选择。通过选择惩罚函数,借用Lasso思想和方法实现特征选择的目的。模型选择本质上是寻求模型稀疏表达的过程,而这种过程可以通过优化一个"损失"+"惩罚"的函数问题来完成。


Lasso参数估计定义


其中,为非负正则参数,控制着模型的复杂程度。越大,对特征较多的线性模型的惩罚力度就越大,从而最终获得一个特征较少的模型,称为惩罚项。参数的确定可以采用交叉验证法,选取交叉验证误差最小的值。最后,按照得到的值,用全部数据重新拟合模型即可。


Lasso适用场景


当原始特征中存在多重共线性时,Laso回归不失为一种很好的处理共线性的方法,它可以有效地对存在多重共线性的特征进行筛选。在机器学习中,面对海量的数据,首先想到的就是降维,争取用尽可能少的数据解决问题,从这层意义上说,用Lasso模型进行特征选择也是一种有效的降维方法。从理论上说,Lasso对数据类型没有太多限制,可以接收任何类型的数据,而且一般不需要对特征进行标准化处理。


Lasso回归方法优缺点


Lasso回归方法的优点是可以弥补最小二乘估计法和逐步回归局部最优估计的不足,可以很好地进行特征的选择,有效地解决各特征之间存在多重共线性的问题。缺点是当存在一组高度相关的特征时,Lasso回归方法倾向于选择其中的一个特征,而忽视其他所有的特征,这种情况会导致结果的不稳定性。虽然Lasso回归方法存在弊端,但是在合适的场景中还是可以发挥不错的效果的。

得出Lasso回归后,各个特征的值如下表所示

用Lasso回归,剔除值为0.000的系数,得出,影响国内生产总值的关键因素为,X1、X2、X3、X4、X5 、X6、X7、X8、X9、X11、X12,用这些特征进行下一步的研究。


#Lasso模型程序

import numpy as np

import pandas as pd

from sklearn.linear_model import Lasso

inputfile = 'C:\\Users\\27342\\Desktop\\data.csv' #输入的数据文件

data = pd.read_csv(inputfile) #读取数据

lasso = Lasso(1000) #调用Lasso()函数,设置λ的值为1000

lasso.fit(data.iloc[:,0:12],data['y'])

print('相关系数为:',np.round(lasso.coef_,5)) #输出结果,保留五位小数


## 计算相关系数非零的个数

print('相关系数非零个数为:',np.sum(lasso.coef_ != 0))


mask = lasso.coef_ != 0 #返回一个相关系数是否为零的布尔数组

print('相关系数是否为零:',mask)


outputfile = 'C:\\Users\\27342\\Desktop\\new_reg_data.csv' #输出的数据文件

new_reg_data = data.iloc[:, mask] #返回相关系数非零的数据

new_reg_data.to_csv(outputfile) #存储数据

print('输出数据的维度为:',new_reg_data.shape) #查看输出数据的维度


以上就是如何Python进行Lasso回归选取关键特征,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

特征 数据 方法 模型 系数 选择 线性 关键 最小 函数 输出 有效 参数 问题 处理 原始 个数 优点 场景 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 深圳九邦互联网科技有限公司 美国互联网保险保险科技 科技创新与互联网经济 互联网科技公司税收优惠 广州互联网科技公司 以房互联网科技 壹账通互联网科技 互联网科技上市公司 唐信互联网科技 大连 深圳前海聚择互联网科技有限公司 互联网科技寓意 湖北码尼互联网科技有限公司电话 昊天互联网科技有限公司 岳阳华臻互联网科技有限公司 互联网科技和信息 互联网金融科技公司的优势 江苏互联网智能科技产品出厂价 唐山双旺合互联网科技产业园 北京瑞云互联网科技有限公司 菲比寻常互联网科技 美国互联网前沿科技 中化能源互联网科技招聘 世界互联网科技公司市值排名 互联网公司黑科技创始人 中国互联网公司排名锤子科技 广东工业互联网大赛深圳学泰科技 皮皮虾互联网科技有限公司 吉林省码上互联网科技电话 青岛互联网科技园
0