正则化实战( Lasso 套索回归,Ridge 岭回归)

Lasso 套索回归

导入包

import numpy as np
from sklearn.linear_model import Lasso
from sklearn.linear_model import SGDRegressor, LinearRegression

原方程的计算结果

# 1. 创建数据集X,y
X = 2 * np.random.rand(100, 20)
w = np.random.rand(20, 1)
b = np.random.randint(1, 10, size=1)
y = X.dot(w) +b + np.random.randn(100,1)
print('原始方程的斜率:',w,b)
print('原始方程的截距',b)

在这里插入图片描述

普通线性回归方式

# 线性回贵
linear = LinearRegression()
linear.fit(X,y)
print('普通线性回归系数\n',linear.coef_)
print('线性回归截距是:',linear.intercept_)

在这里插入图片描述

Lasso 套索回归

# l1 正则化的lasso回归一部分权重变为0
# 其余的进行了衰减     可以说模型的负责度降低,可以减少过拟合
lasso = Lasso(alpha=0.1)
lasso.fit(X,y)
print('l1 正则化系数:\n',lasso.coef_)
print('l1 正则化截距',lasso.intercept_)

在这里插入图片描述

随机的梯度下降

sgd = SGDRegressor(penalty='l1',alpha=0.1)
sgd.fit(X,y.ravel())
print('随机梯度下降系数',sgd.coef_)
print('随机梯度截距',sgd.intercept_)

在这里插入图片描述

  • 和没有正则项约束线性回归对比,可知L1正则化,将方程系数进行了缩减,部分系数为0,产生稀疏模型
  • α \alpha α 越大,模型稀疏性越强,越多的参数为0
  • Lasso回归源码解析:
  • alpha:正则项系数
  • fit_intercept:是否计算 w 0 w_0 w0 截距项
  • normalize:是否做归一化
  • precompute:bool 类型,默认值为False,决定是否提前计算Gram矩阵来加速计算
  • max_iter:最大迭代次数
  • tol:结果的精确度
  • warm_start:bool类型,默认值为False。如果为True,那么使⽤用前⼀次训练结果继续训练。否则从头开始训练

Ridge 岭回归

导入包

import numpy as np
from sklearn.linear_model import Ridge
from sklearn.linear_model import SGDRegressor
from sklearn.linear_model import LinearRegression 

原方程的计算结果


# 创建模拟数据
X = 2 * np.random.rand(100,5)
w = np.random.randint(1,10,size=(5,1))
b = np.random.randint(1,10,size=1)
y = X.dot(w) + b + np.random.randn(100,1)print('原始方程的斜率:',w.ravel())
print('原始方程的截距',b)

在这里插入图片描述

普通的线性回归

linear = LinearRegression()
linear.fit(X,y)
print('普通的线性回归系数',linear.coef_,linear.intercept_)**

在这里插入图片描述

Ridge 岭回归

ridge = Ridge(alpha=0.12)
ridge.fit(X,y)
print('l2 正则化ridge系数数:',ridge.coef_,ridge.intercept_)

在这里插入图片描述

结论:

  • 和没有正则项约束线性回归对比,可知L2正则化,将方程系数进行了缩小
  • α \alpha α 增大求解出来的方程斜率变小
  • Ridge回归源码解析:
  • alpha:正则项系数
  • fit_intercept:是否计算 w 0 w_0 w0 截距项
  • normalize:是否做归一化
  • max_iter:最大迭代次数
  • tol:结果的精确度
  • solver:优化算法的选择

坚持学习,整理复盘
结尾

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器一直掉线怎么回事?

随着网络的高速发展,不管是网站还是游戏,如果遇到服务器卡顿的情况,会造成用户访问网站或进游戏,网站页面长时间无法打开,游戏页面运行卡顿,这样就很容易会造成用户的流失,从而导致业务亏损极大…

C++:命名空间

从今天正式开始对C的学习&#xff0c;这里只学习C对C的拓展&#xff0c;和C相同的部分在C语言专栏中都可以找到&#xff0c;我们先看一段C代码 #include<iostream> using namespace std; int main() {cout<<"hello world<<endl;return 0; } 同样也是打…

安装鸿蒙开发者工具DevEco Studio

1.进入官网下载工具 https://developer.harmonyos.com/cn/develop/deveco-studio/ 选择您电脑对应的系统下载即可 2.安装 很简单直接点击“next”,此处不做赘述 3.配置环境 安装完成后&#xff0c;打开DevEco Studio 会提示配置环境。安装node.js和ohpm 如果不小心关了&a…

【Docker】ES、Kibana及IK安装配置

目录 一.单节点安装部署 1.版本选择 2.推荐及总结 ​3.官网下载地址 4.创建网络 5.拉取镜像 6.创建文件夹 7.运行docker命令 二、安装kibana 1.安装kibana 2.浏览器访问 3.国际化 三、Elasticsearch查询 1.数据插入&#xff1a;POST或PUT 2.数据查询GET 3.分词…

动态面板简介以及ERP原型图案列

动态面板简介以及ERP原型图案列 1.Axure动态面板简介2.使用Axure制作ERP登录界面3.使用Asure完成左侧菜单栏4.使用Axuer完成公告栏5.使用Axuer完成左边侧边栏 1.Axure动态面板简介 在Axure RP中&#xff0c;动态面板是一种强大的交互设计工具&#xff0c;它允许你创建可交互的…

【Spring教程29】Spring框架实战:从零开始学习SpringMVC 之 服务器响应知识全面详解

目录 1 环境准备2 响应页面3 返回文本数据4 响应JSON数据5 知识点总结 欢迎大家回到《Java教程之Spring30天快速入门》&#xff0c;本教程所有示例均基于Maven实现&#xff0c;如果您对Maven还很陌生&#xff0c;请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配…

浅析AI视频分析与视频管理系统EasyCVR平台及场景应用

人工智能的战略重要性导致对视频智能分析的需求不断增加。鉴于人工智能视觉技术的巨大潜力&#xff0c;人们的注意力正在从传统的视频监控转移到计算机视觉的监控过程自动化。 1、什么是视频分析&#xff1f; 视频分析或视频识别技术&#xff0c;是指从视频片段中提取有用信息…

Pytorch从零开始实战13

Pytorch从零开始实战——ResNet与DenseNet探索 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——ResNet与DenseNet探索环境准备数据集模型选择开始训练可视化总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;P…

Excel中MATCH和INDEX函数的用法详解,以及Vlookup的数组用法

match函数 目的&#xff1a;查询函数&#xff0c;范围单元格中搜索特定的项&#xff0c;然后返回该项在此区域中的相对位置。 For example:让 match 去【隔壁办公室】找【老张】 Match 回复&#xff1a;【老张】坐在【隔壁办公室】第【四】个座位上 公式&#xff1a;【 mat…

Redis 的常见使用场景

01 缓存 作为 Key-Value 形态的内存数据库&#xff0c;Redis 最先会被想到的应用场景便是作为数据缓存。而使用 Redis 缓存数据非常简单&#xff0c;只需要通过 string 类型将序列化后的对象存起来即可&#xff0c;不过也有一些需要注意的地方&#xff1a; 必须保证不同对象的…

服务器数据恢复-EqualLogic PS存储硬盘坏道导致存储不可用的数据恢复案例

服务器数据恢复环境&#xff1a; 一台DELL EqualLogic PS系列存储&#xff0c;存储中有一组由16块SAS硬盘组成的RAID5。上层是VMFS文件系统&#xff0c;存放虚拟机文件。存储上层分了4个卷。 服务器故障&检测&#xff1a; 存储上有2个硬盘指示灯显示黄色&#xff0c;磁盘出…

微服务架构之争:Quarkus VS Spring Boot

在容器时代&#xff08;“Docker时代”&#xff09;&#xff0c;无论如何&#xff0c;Java仍然活着。Java在性能方面一直很有名&#xff0c;主要是因为代码和真实机器之间的抽象层&#xff0c;多平台的成本&#xff08;一次编写&#xff0c;随处运行——还记得吗&#xff1f;&a…