第二章.线性回归以及非线性回归—LASSO算法

news2025/1/16 5:06:58

第二章.线性回归以及非线性回归

2.13 LASSO算法

1.前期导入:

  • 通过构造一个一阶惩罚函数获得一个精炼的模型;通过最终确定一些指标(变量)的系数为零,解释力很强

  • 岭回归估计系数等于0的机会微乎其微,造成筛选变量困难

  • 擅长处理具有多重共线性的数据,与岭回归一样是有偏估计

2.LASSO与岭回归的差异:

1).代价函数:

  • 岭回归
    在这里插入图片描述

  • LASSO
    在这里插入图片描述

2).图像1层面理解:

  • 岭回归
    在这里插入图片描述

图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色圆圈
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)

  • LASSO
    在这里插入图片描述

图像描述:
①.假设定义的函数里面只有β1和β2两个系数,有λ的限制条件时,可以绘制出图中的蓝色菱形
②.图中的β^代表代价函数的最小值,一个圈代表一个代价函数的值,代价函数的值越小越好
③.图中红色点的是λ比较好的取值点(两个图像相切的点)
④.相对来说,LASSO的β1的参数取值比较容易取到0,岭回归的参数比较难取到0

2).图像2层面理解:

  • 岭回归
    在这里插入图片描述
    图像描述:
    ①.不同的线代表不同的参数值
    ②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得参数值不断变小,无限趋近于0,很难等于0

  • LASSO
    在这里插入图片描述
    图像描述:
    ①.不同的线代表不同的参数值
    ②.从右向左看,参数值不断的变小,通过增大正则项λ的系数,使得某些参数值等于0(等于0的参数可能是一些干扰参数,例如:噪声,或存在多重共线性的问题),选取少量参数构建模型,排除等于0的参数

3.实战2:sklearn—LASSO算法:

1).CSV中的数据:

  • longley.csv

2).代码

import numpy as np
from numpy import genfromtxt
from sklearn import linear_model

# 导入数据
data = genfromtxt('D:\\Data\\longley.csv', delimiter=',')

# 数据切片
x_data = data[1:, 2:]
y_data = data[1:, 1]

# 创建模型
model = linear_model.LassoCV()

# 拟合线性模型
model.fit(x_data, y_data)

# lasso系数
coeff = model.alpha_
print('lasso系数:', coeff)

# 相关系数
rCoeff = model.coef_
print('相关系数:', rCoeff)

# 预测数据
pred = model.predict(x_data[2, np.newaxis])
print('第二行的预测数据:', pred, '实际数据:88.2')


3).结果展示:

①.数据

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现根据环境切换不同配置?

在企业开发中,系统的配置信息往往会分不同的环境,如开发环境、测试环境、生产环境。当我们使用nacos做为配置中心时,一定会遇到的问题就是在应用中配置nacos的server-addr时测试环境的nacos地址和线上nacos地址如何区分的问题 拿开发环境和正…

4.4 可迭代对象(Iterable)与迭代器(Iterator)

4.4 可迭代对象(Iterable)与迭代器(Iterator) 4.4.1 可迭代(Iterable)对象 如果一个对象实现了__iter__方法,那么这个对象就是可迭代(Iterable)对象>>> #如何知道一个对象实现了那些…

STM32MP157内核移植相关bug

STM32MP157 官方Linux5.15内核移植相关bug一、主频问题二、驱动开发时的头文件缺失问题三、结语一、主频问题 在初学STM32MP157驱动开发时,笔者曾对官方最新版的Linux内核进行了移植,但是因为一些问题,导致移植后的系统存在一些bug。最近笔者…

Java学习之抽象类

目录 一、抽象类引出 二、抽象类的介绍 三、抽象类的细节 第一条 第二点 第三点 第四点 第五点 第六点 第七点 第八点 四、练习 第一题 第二题 一、抽象类引出 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,这个方法就是抽象方法,用…

【设计模式】创建者模式·建造者模式

学习汇总入口【23种设计模式】学习汇总(数万字讲解体系思维导图) 写作不易,如果您觉得写的不错,欢迎给博主来一波点赞、收藏~让博主更有动力吧! 一.概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 …

Python实现哈里斯鹰优化算法(HHO)优化支持向量机回归模型(SVR算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO),该算法有较强的全…

目标检测——day66 Scaled-YOLOv4: Scaling Cross Stage Partial Network

Scaled-Yolov4:可伸缩跨级部分网络 Scaled-YOLOv41. Introduction2. Related work2.1. Real-time object detection2.2. Model scaling(模型缩放)3. Principles of model scaling4. Scaled-YOLOv44.1. CSP-ized YOLOv44.2. YOLOv4-tiny4.3. YOLOv4-large…

上海亚商投顾:沪指缩量小幅调整 半导体与旅游股领涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。市场情绪沪指今日缩量小幅调整,创业板指稍显强势,多数时间红盘运行,科创50指数涨超1%。半…

springMVC讲解(上)

SpringMvc 1,简介 springmvc是spring的一个后续产品,是spring的一个子项目,是spring为表示层所开发的一整套完备的解决方案,在表示层框架经历了struct、webWork、struct2等诸多产品的历代更迭之后,目前业界普遍选择了…

JAVA就业课程,面试题大全

面试整体流程1.1 简单的自我介绍我是xxxx,工作xxx年.我先后在xxxx公司、yyyy公司工作。先后做个xxxx项目、yyyy项目。1.2 你简单介绍一下xxxx项目为了解决xxxx问题,开发了一套xxxx系统,该系统主要有那些部分组成。简单介绍项目的整体架构。参与某个模块的…

【Python学习】输入和输出

前言 往期文章 【Python学习】列表和元组 【Python学习】字典和集合 【Python学习】条件和循环 在很多时候,你会想要让你的程序与用户(可能是你自己)交互。你会从用户那里得到输入,然后打印一些结果。我们可以使用iinput和pr…

MATLAB趣味绘图-内接正六边形旋转

MATLAB趣味绘图-内接正六边形旋转 观察一下内部的正六边形大概在外部的正六边形边的四等分点的位置,通过数学平面几何知识可得边和角度的迭代关系式为: an134an−1θnθn−1arctan⁡36a_n \frac{\sqrt{13}}{4} a_{n-1} \\ \theta_n \theta_{n-1}\arcta…

金融行业数据库场景下,SmartX 超融合表现如何|性能验证与落地实践

在金融行业,数据库是一项至关重要的 IT 基础设施。作为交易和数据的主要载体,数据库往往需要在短时间内处理大量的业务数据,其可靠性、稳定性和性能将直接影响业务系统的运行状态。而在进行数据库基础架构选型时,一些客户对于超融…

C++学习笔记——类和对象

1.面向对象的三大特性:封装、继承、多态 2.对象有其属性和行为 3.具有相同性质的对象,可被抽象为类 1.封装 1.封装是C面向对象三大特性之一 2.封装的意义: (1)将属性(变量)和行为&#xff…

python学习 --- 字典基础

目录 一、什么是字典? 1、字典示意图-无序说明 2、字典实现原理 二、字典的创建 1、使用花括号 2、使用内置函数dict() 三、字典常用操作 1、字典中元素的获取 2、key的判断(存在与否) 3、字典元素的删除 4、字典元素的新增 5、获…

计讯物联智慧水务解决方案:用“智水”捍卫生命之泉

项目背景 水是生命的源泉,是城市的灵魂,是农业的命脉,是工业的基石。2022年以来,基于国家政策的引导、科技革新的驱动与供排水需求增长,智慧水务的发展突飞猛进,从信息化到数字化,再到智能化&a…

若依 ruoyi vue el-switch 列表开关状态显示有误 全部关闭的问题

后台使用int类型传状态status的值但是前端列表展示的开关状态是未开启,实际上,后台传的都是开启的状态结果应该是这样确定后台传的status值 在 el-switch 标签中是否使用了正确的值判断,比如 后台用的是字符串、布尔 或者是 数值类型&#xf…

android判断文件是否存在跳转不同activity

android studio版本:2021.2.1Patch 2例程名称:ActivityJump完成日期:2023.1.17一直在完善一个小东西,也是不断的在学习。之前做的那个桌面日历天气(老旧安卓手机发挥余热做桌面时钟摆件使用),有…

java 数列排序

试题 基础练习 数列排序提交此题 评测记录 资源限制内存限制&#xff1a;512.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s问题描述给定一个长度为n的数列&#xff0c;将这个数列按从小到大的顺序排列。1<n<200输入格式…

【渗透测试】信息搜集总结

前言零零散散的发布过很多文章了&#xff0c;但是也没有完整的总结一下&#xff0c;今天就从信息搜集入手&#xff0c;系统的总结一下。一方面可以巩固自己的基础&#xff0c;作为自己的字典随用随查&#xff0c;另一方面希望对大家的学习和工作起到帮助作用。按照这个过程基本…