Scikit-Learn线性回归(五)

Scikit-Learn线性回归五:岭回归与Lasso回归

    • 1、误差与模型复杂度
    • 2、正则化
    • 3、Scikit-Learn岭(Ridge)回归
    • 4、Scikit-Learn Lasso回归



1、误差与模型复杂度


在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛化的概念并使用案例进行了验证

在机器学习中,我们通常会将数据划分为两部分:一部分用来构建模型,然后另一部分用来检验模型的效果。构建模型所用的数据集称为训练集,而验证模型的数据集称为测试集。模型在训练集上的误差称为训练误差(或经验误差);在测试集上的误差称为泛化误差

泛化误差反映了模型对未知数据的预测能力,而我们采用最多的也就是通过泛化误差来评价模型的泛化能力。泛化误差刻画了模型算法的经验风险与期望风险之间的偏差和收敛速度

过拟合是指模型在训练集中表现良好,而在测试集中表现很差,即泛化误差大于经验误差,说明拟合过度,模型泛化能力降低,只能够适用于训练集,通用性不强;欠拟合则指的是模型在训练集中的表现就很差,即经验误差很大

在这里插入图片描述

如图所示,图一表示过拟合,可以看到拟合曲线完美的经过了每一个点,模型非常复杂,这种情况下,经验误差极小,但是预测值的方差(误差平方和)会很大。图二表示欠拟合,此时模型过于简单,在训练集上的误差就很大。图三则表示一个理想的拟合模型

欠拟合出现的原因是模型复杂度太低。可能是回归模型自变量(特征)较少或模型不合适。针对欠拟合,解决方案是增大模型复杂度,可以增加自变量(特征)或改变模型。例如,将一阶多元回归模型升级为多项式回归模型

过拟合出现的原因则是模型复杂度太高或训练集太少。可能是自变量(特征)过多或训练集数据量太少等。针对过拟合,除了增加训练集数据量外,还有多种优化算法可以处理。例如,正则化

一般情况下,误差与模型复杂度之间存在如下关系:

在这里插入图片描述

如上图所示,横坐标表示模型的复杂度,纵坐标表示模型的误差。其中,偏差(误差)表示真实值与预测值之间的差值;方差表示回归系数的方差,即误差平方(损失函数/误差平方和为所有样本的偏差平方之和)

从图中可得,随着模型复杂度的提升,方差会不断增大,偏差会逐渐减小,而泛化误差会受偏差和方差的影响,我们的目标是找到泛化误差的最小值,这可以通过平衡方差与偏差来实现

2、正则化


未完待续…

3、Scikit-Learn岭(Ridge)回归

4、Scikit-Learn Lasso回归



参考文章:
https://scikit-learn.org.cn/view/84.html#1.5.7%20%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F
https://cloud.tencent.com/developer/article/1556213
https://blog.csdn.net/weixin_46302487/article/details/105637818
https://www.cnblogs.com/wang_yb/p/17910389.html
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html
https://blog.csdn.net/qq_45797116/article/details/112488498


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

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

相关文章

【解决复杂链式任务,打造全能助手】LangChain 大模型 打造 钢铁侠的全能助理 Jarvis

LangChain 大模型 结合 做 AutoGPT、ChatPDF 思维链 CoTLangChain模型IO:和大模型交互、提示词模版数据连接:从数据的接入、分割,到向量的构建、存储、搜索链:串联和组织,多个语言模型、组件记忆:灵魂伴侣&…

Java Review - Spring BeanUtils 踩坑记

文章目录 概述Spring BeanUtils基本使用Code忽略了属性类型导致拷贝失败同一字段在不同的类中定义的类型不一致同一个字段分别使用包装类和基本类型且没有传递实际值布尔类型的属性分别使用了基本类型和包装类型且属性名使用is开头 null值覆盖导致数据异常内部类数据无法成功拷…

图解算法数据结构-LeetBook-回溯01_机械累加器

请设计一个机械累加器,计算从 1、2… 一直累加到目标数值 target 的总和。注意这是一个只能进行加法操作的程序,不具备乘除、if-else、switch-case、for 循环、while 循环,及条件判断语句等高级功能。 注意:不能用等差数列求和公式…

RK3399平台入门到精通系列讲解(实验篇)IO 多路复用实验之poll实验

🚀返回总目录 文章目录 一、IO 多路复用:poll介绍二、实验源码2.1、Makefile2.2、poll 实验驱动2.3、poll 驱动测试应用程序一、IO 多路复用:poll介绍 IO 多路复用是一种同步的 IO 模型。IO 多路复用可以实现一个进程监视多个文件描述符。 一旦某个文件描述符准备就绪,就通…

osg - 光照

OSG全面支持 OpenGL 的光照特性,包括材质属性(material property)、光照属性(light property)和光照模型 (lighting model)。与 OpenGL 相似,OSG中的光源也是不可见的,而非渲染一个灯泡或其他自然形状。同样,光源会创建着色效果&a…

进程的程序替换(exec函数)【Linux】

进程的程序替换详解exec函数【Linux】 程序替换的原理exec系列函数函数理解命令理解(助记) 关于程序替换中环境变量的解释exec函数之间的关系exec函数的使用execlexeclpexecleexecv 程序替换的原理 进程的程序替换就是让子进程执行新程序, 执…

QT_02 窗口属性、信号槽机制

QT - 窗口属性、信号槽机制 1. 设置窗口属性 窗口设置 1,标题 2,大小 3,固定大小 4,设置图标在 widget.cpp 文件中: //设置窗口大小,此时窗口是可以拉大拉小的 //1参:宽度 //2参:高度 this->resize(800, 600); //设置窗口标题 this->setWindowTitle("…

Docker中的核心概念

1.镜像 Image 一个镜像就代表一个软件。mysql镜像、redis镜像、mq镜像 2.容器 Container 一个镜像运行一次就会生成一个容器,容器就是一个运行的软件服务。 3.远程仓库 Repository 远程仓库用来存储所有软件的镜像,Docker Hub 4.本地仓库 用来存储…

Ubuntu18.04配置静态ip

文章目录 查看网卡名、ip地址、网关切换root用户,进入配置文件配置静态IP 查看网卡名、ip地址、网关 首先查看网卡名、ip地址、网关,找到对应的网卡名并记录其地址 ifconfigroute -n切换root用户,进入配置文件 sudo -icd /etc/netplanvim …

听GPT 讲Rust源代码--compiler(11)

File: rust/compiler/rustc_mir_transform/src/simplify.rs 在Rust源代码中,rust/compiler/rustc_mir_transform/src/simplify.rs文件是Rust编译器中一系列进行MIR(中间表示)简化的转换的实现。MIR是Rust编译器中用于进行优化和代码生成的中间…

深入理解 BEM:前端开发中的命名约定革命

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Python+OpenCV 零基础学习笔记(6):ROI

文章目录 相关链接运行环境前言ROI颜色区域分割颜色通道合并 相关链接 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程 CSDN标题里个括号对应视频的分P OpenCVPython CSDN专栏 Gitee 项目地址 运行环境 Python:3.11.5Anaconda:23.7.4IDE:vscode运行环境&#x…

WebSocket的优点和缺点:一文详解。

WebSocket 的优缺点 WebSocket 协议是一种双向通信协议,它使用单个 TCP 连接实现全双工通信,这使它比传统的 HTTP 协议更有效率。 WebSocket 优点 双向通信: WebSocket 协议支持双向通信,使服务器和客户端之间的通信更加方便和快…

Elasticsearch 中映射参数doc_values 和 fielddata分析比较

一、doc_values 默认情况下,大部分字段是索引的,这样让这些字段可被搜索。倒排索引(inverted index)允许查询请求在词项列表中查找搜索项(search term),并立即获得包含该词项的文档列表。 倒排…

vscode 格式化代码后反而出现红色波浪线格式报错

表现: vscode 代码文件格式化之后,反而出现红色波浪线,提示 应该换行/缩进不正确 等等格式不规范之类的信息。 原因: 因为同时开启了两个格式化插件,且两者的规则有冲突。 就我自己的情况而言:格式化代…

漫谈广告机制设计 | 【预告】万剑归宗:机制设计提高平台广告收入的绝招

读者们好,新年快乐,祝大家新的一年工作顺利,万事如意。 假期更新了两篇文章oCPC实践录 | 以基木鱼为例谈线索类有效转化的设计与智能客服的问题和oCPC实践录 | 目标ROI的出价与转化回传调控算法,欢迎讨论、评论、点赞、分享、转发…

2023年为何YOLO成为最热门视觉检测技术?猫头虎带您揭秘其背后的原因!

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

查询运行的java程序线程总数

(1)方法一 ps -ef|grep java pstree -p pid|wc -l 安装pstree包,yum install psmisc (2)方法二 top -H -p pid

互联网分布式应用之RabbitMQ

RabbitMQ Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. RabbitMQ介绍安装 2. Rabbi…

人工智能在金融领域的应用存在的4大挑战

金融服务供应商应该有计划地应对AI面临的难题 金融行业投资人工智能热潮带来有关数据安全和透明度的新问题。由于数据管理实践随着新的 AI 解决方案的引入而不断发展,应对这些新问题以及金融服务领域 AI 面临的其他挑战尤为重要。各组织必须认识到可能面临以下挑战…