【数据挖掘】Lasso回归原理讲解及实战应用(超详细 附源码)

article/2025/9/28 20:31:23

需要源码请点赞关注收藏后评论区留言私信~~~

Lasso回归

岭回归无法剔除变量,而Lasso(Least Absolute Shrinkage and Selection Operator)回归模型,将惩罚项由L2范数变为L1范数,可以将一些不重要的回归系数缩减为0,达到剔除变量的目的

逐步回归

在处理多个自变量时,需要使用逐步回归(Stepwise Regression)。逐步回归中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作

逐步回归是通过观察统计的值,如R-square,t-stats和AIC指标,来识别重要的变量并通过同时添加/删除基于指定标准的协变量来拟合模型

常用的逐步回归方法有

标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测

向前选择法从模型中最显著的预测开始,然后为每一步添加变量

向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显著性的变量

逐步回归的目的是使用最少的预测变量数来最大化预测能力,是处理高维数据集的方法之一

如何正确选择回归模型

在多类回归模型中,基于自变量和因变量的类型,数据的维数以及数据的其它基本特征的情况下,选择最合适的技术非常重要。以下是你要选择正确的回归模型的关键因素

1.数据探索是构建预测模型的必然组成部分。在选择合适的模型时,比如识别变量的关系和影响时,它应该首选的一步

2. 比较适合于不同模型的优点,我们可以分析不同的指标参数,如统计意义的参数,R-square,Adjusted R-square,AIC,BIC以及误差项,另一个是Mallows’ Cp准则。这个主要是通过将模型与所有可能的子模型进行对比(或谨慎选择他们),检查在你的模型中可能出现的偏差

3.交叉验证是评估预测模型最好的方法。在这里,将你的数据集分成两份(一份做训练和一份做验证)。使用观测值和预测值之间的一个简单均方差来衡量你的预测精度

4.如果你的数据集是多个混合变量,那么你就不应该选择自动模型选择方法,因为你应该不想在同一时间把所有变量放在同一个模型中

5.它也将取决于你的目的。可能会出现这样的情况,一个不太强大的模型与具有高度统计学意义的模型相比,更易于实现

6.回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好

Lasso回归实战

模型回归效果如下

 部分代码如下

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score
#def main():
# 产生一些稀疏数据
np.random.seed(42)
n_samples, n_features = 50, 100
X = np.random.randn(n_samples, n_features) 
# randn(...)产生的是正态分布的数据
coef = 3 * np.random.randn(n_features)
# 每个特征对应一个系数
inds = np.arange(n_features)
np.rinds[10:]] = 0 
# 稀疏化系数--随机地把系数向量1x200的其中10个值变为0
y = np.dot(X, coef) 
# 添加噪声:零均值,标准差为 0.01 的高斯噪声
y += 0so 模型
from sklearn.linear_model import Lasso
alpha = 0.1
lasso = Lasso(alpha=alpha)
y_pred_lasso = lasso.fit(X_train, y_train).predict(X_test)
r2_score_lasso = r2_score(y_test, y_pred_lasso)
print("r^2 on test data : %f" % r2_score_lasso)
plt.plot(lasso.coef_, color='gold', linewidth=2,label='Lasso coefficients')
plt.title("Lasso R^2: %f" % r2_score_lasso)
plt.show()

创作不易 觉得有帮助请点赞关注收藏~~~


http://chatgpt.dhexx.cn/article/yg9oQNMO.shtml

相关文章

Lasso回归系列四:Group Lasso,Sparse Group Lasso

Lasso变体:Group Lasso,Sparse Group Lasso 关于Lasso回归的讲解可以看我的另一篇博客:Lasso回归系列二:Lasso回归/岭回归的原理 Group Lasso 在Lasso回归中,是单独地看待每个特征(即假定特征不存在先验的分组)&…

Group Lasso

简介 Lasso(least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法)是一种同时进行特征选择和正则化(数学)的回归分析方法,旨在增强统计模型的预测准确性和可解释性&a…

Lasso回归(Stata)

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:清风数学建模:https://www.bilibili.com/video/BV1DW411s7wi 前言 一、lasso回归的应用 这里因为Stata里对岭回归有bug,所以就没有岭回归&#xff…

Lasso-Logistic回归-R语言应用详解

Lasso简介 LASSO(Least Absolute Shrinkage and Selection Operator)是线性回归的一种缩减方式,通过引入 L 1 L_1 L1​惩罚项,实现变量选择和参数估计。 ∑ i 1 N ( y i − β 0 ∑ j 1 p x i j β j ) 2 λ ∑ j 1 p ∣ β j ∣ \sum_{i1}^{N}\le…

Lasso问题

转自:http://blog.csdn.net/slade_sha/article/details/53164905 先看一波过拟合: 图中,红色的线存在明显的过拟合,绿色的线才是合理的拟合曲线,为了避免过拟合,我们可以引入正则化。 下面可以利用正则化来…

Lasso Regression

Lasso Regression 标签(空格分隔): 监督学习 在数据挖掘和机器学习算法的模型建立之初,为了尽量的减少因缺少重要变量而出现的模型偏差问题,我们通常会尽可能的多的选择自变量。但是在实际建模的过程中,通…

logistic回归、lasso回归、ridge回归、Elastic Net回归之间的总结

1. 概念 一直看一遍忘一遍,实在懒得再查了,理解后再次整理,希望能加深理解。 先总结几个概念: 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器&#xff…

机器学习--岭回归和Lasso回归

任何数据都存在噪声和多重共线性 如何解决多重共线性 ? 1.算法角度(正则化) 2.数据角度(最有效果) 岭回归与Lasso回归的出现是为了解决线性回归出现的过拟合(数据间高度线性相关)以及在通过正规…

LASSO和LARS

1、LASSO简介 LASSO是一种经典的松弛算法,其全称是The Least Absolute Shrinkage and Selectionator operator,于1996年由Tibshirani提出来。lasso的一个根本思想就是利用L1范式来诱导稀疏解,下面给出lasso的两种形式以及其等价性证明&#x…

R语言实现LASSO回归

Lasso回归又称为套索回归,是Robert Tibshirani于1996年提出的一种新的变量选择技术。Lasso是一种收缩估计方法,其基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0的回归…

python-LASSO回归模型

https://zhuanlan.zhihu.com/p/76055830 LASSO回归模型的应用 ①可视化方法确定值 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib from sklearn import model_selection from sklearn.linear_model import Lasso, LassoCV font…

Lasso模型

Lasso是一种数据降维方法,该方法不仅适用于线性情况,也适用于非线性情况。Lasso是基于惩罚方法对样本数据进行变量选择,通过对原本的系数进行压缩,将原本很小的系数直接压缩至0,从而将这部分系数所对应的变量视为非显著…

Lasso算法理论介绍

先看一波过拟合: 图中,红色的线存在明显的过拟合,绿色的线才是合理的拟合曲线,为了避免过拟合,我们可以引入正则化。 下面可以利用正则化来解决曲线拟合过程中的过拟合发生,存在均方根误差也叫标准误差&…

Lasso回归系列二:Lasso回归/岭回归的原理

Lasso回归/岭回归的原理 在学习L1,L2正则化的作用和区别时,我们总是会看到这样的一副图片: 这幅图片形象化地解释了L1,L2对线性模型产生的不同的约束效果。 我最开始其实是不太理解为什么要这么画的。比如 1、L1范数(L1-norm)等…

回归问题-Lasso回归

Lasso(Least absolute shrinkage and selection operator)方法是以缩小变量集(降阶)为思想的压缩估计方法。它通过构造一个惩罚函数,可以将变量的系数进行压缩并使某些回归系数变为0,进而达到变量选择的目的。 正则化 正则化&am…

Lasso回归

维数灾难 高维数据 何谓高维数据?高维数据指数据的维度很高,甚至远大于样本量的个数。高维数据的明显的表现是:在空间中数据是非常稀疏的,与空间的维数相比样本量总是显得非常少。 在分析高维数据过程中碰到最大的问题就是维数…

1.1.3. Lasso(套索回归)

1.1.3. Lasso 一、简介 首先,Lasso同样是线性回归的一种变体。而文档中指出,它是一种能让参数 ω \omega ω稀疏的模型(作用)。它是压缩感知领域的基础(地位),在特定情况下,它可以“…

【机器学习】Lasso模型

一、引言 1.1 高维数据 何谓高维数据?高维数据指数据的维度很高,甚至远大于样本量的个数。高维数据的明显的表现是:在空间中数据是非常稀疏的,与空间的维数相比样本量总是显得非常少。 在分析高维数据过程中碰到最大的问题就是维…

多元线性回归-Lasso

目录 1.Lasso与多重共线性 2. Lasso的核心作用:特征选择 3. 选取最佳的正则化参数取值 1.Lasso与多重共线性 Lasso全称最小绝对收缩和选择算子(Least absolute shrinkage and selection operator),由于这个名称过于复杂所以简称为Lasso,和…

Lasso线性回归学习笔记(公式与代码实现)

目录 Lasso线性回归学习笔记(公式与代码实现)1 为什么要在线性回归中引入正则化项(简介)2 常见正则化项3 损失函数图像与正则化之后的图像3.1损失函数图像3.2 加了 L~1~ 正则项之后的损失函数图像 4 L~1~ 范数正则化的解中有更多零…