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

2023-12-16 19:04

本文主要是介绍正则化实战( 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:优化算法的选择

坚持学习,整理复盘
结尾

这篇关于正则化实战( Lasso 套索回归,Ridge 岭回归)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501561

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^