Scikit-Learn线性回归(一)
Scikit-Learn线性回归一
- 1、线性回归概述
- 1.1、回归
- 1.2、线性
- 1.3、线性回归
- 1.4、线性回归的优缺点
- 1.5、线性回归与逻辑回归
- 2、线性回归的原理
- 2.1、线性回归的定义与原理
- 2.2、线性回归的损失函数
- 3、Scikit-Learn线性回归
- 3.1、Scikit-Learn库
- 3.2、Scikit-Learn线性回归API
- 3.3、Scikit-Learn线性回归初体验
- 3.4、线性回归案例(波士顿房价预测)
- 4、附录
1、线性回归概述
线性回归(Linear Regression)是很基础的机器学习算法。线性回归在机器学习知识结构中的位置如下:

1.1、回归
回归(Regression)是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果是连续型变量
回归是监督学习中的一个重要问题,用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化,回归模型正是表示从输入变量到输出变量之间映射的函数
其中,自变量表示主动操作的变量,可以看做因变量的原因。因变量因为自变量的变化而变化,可以看做自变量的结果
回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据且很好地预测未知数据
回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势…
回归之所以能预测是因为他通过历史数据,摸透了“套路”,然后通过这个套路来预测未来的结果

1.2、线性
“越…,越…”,符合这种说法的就可能是线性个关系,例如,房子越大,价格就越高
但是并非所有“越…,越…”都是线性的,例如,“充电越久,电量越高”,它就类似下面的非线性曲线:

线性关系不仅仅只能存在2个变量(二维平面)。3个变量时(三维空间),线性关系就是一个平面,4个变量时(四维空间),线性关系就是一个体。以此类推…

1.3、线性回归
线性回归本身是统计学里的概念,现在经常被用在机器学习中
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方和函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析,这种函数是一个或多个被称为回归系数的模型参数的线性组合 。只有一个自变量时称为简单回归,大于一个自变量时称为多元回归
如果2个或者多个变量之间存在“线性关系”,那么我们就可以通过历史数据,摸清变量之间的“套路”,建立一个有效的模型,来预测未来的变量结果

1.4、线性回归的优缺点
优点:
- 建模速度快,不需要很复杂的计算,在数据量大的情况下依然运行速度很快
- 可以根据系数给出每个变量的理解和解释
缺点:
- 不能很好地拟合非线性数据。所以需要先判断变量之间是否是线性关系
为什么在深度学习大杀四方的今天还使用线性回归呢?
一方面,线性回归所能够模拟的关系其实远不止线性关系。线性回归中的“线性”指的是系数的线性,而通过对特征的非线性变换,以及广义线性模型的推广,输出和特征之间的函数关系可以是高度非线性的。另一方面,也是更为重要的一点,线性模型的易解释性使得它在物理学、经济学、商学等领域中占据了难以取代的地位
1.5、线性回归与逻辑回归
线性回归和逻辑回归是2种不同的经典算法。经常被拿来做比较,下面整理了一些两者的区别:
| 比较项 | 解决问题类型 | 变量类型 | 线性关系 | 表达变量关系 |
|---|---|---|---|---|
| 线性回归 | 回归 | 连续 | 符合线性关系 | 直观表达变量关系 |
| 逻辑回归 | 分类 | 离散 | 可以不符合线性关系 | 无法直观表达变量关系 |
- 线性回归只能用于回归问题,逻辑回归虽然名字叫回归,但是更多用于分类问题(关于回归与分类的区别参考文章:传送门)
- 线性回归要求因变量是连续性数值变量,而逻辑回归要求因变量是离散的变量
- 线性回归要求自变量和因变量呈线性关系,而逻辑回归不要求自变量和因变量呈线性关系
- 线性回归可以直观的表达自变量和因变量之间的关系,逻辑回归则无法表达变量之间的关系
2、线性回归的原理
2.1、线性回归的定义与原理
线性回归的定义及原理推导详见文章:传送门
2.2、线性回归的损失函数
损失函数(Loss Function),也称成本函数(Cost Function),描述的是模型的预测值与真实值的差异,并将这种差异映射为非负实数以表示模型可能带来的“风险”或“损失”。机器学习中将损失函数作为模型拟合好坏的评判准则,并通过最小化损失函数求解和评估模型
在多元线性回归中,其损失函数定义如下:
L = ∑ i = 1 m ( y i − f ( x i ) ) 2 L=\sum_{i=1}^m(y_i-f(x_i))^2 L=i=1∑m(yi−f(xi))
相关文章:
Scikit-Learn线性回归(一)
Scikit-Learn线性回归一 1、线性回归概述1.1、回归1.2、线性1.3、线性回归1.4、线性回归的优缺点1.5、线性回归与逻辑回归2、线性回归的原理2.1、线性回归的定义与原理2.2、线性回归的损失函数3、Scikit-Learn线性回归3.1、Scikit-Learn库3.2、Scikit-Learn线性回归API3.3、Sci…...
Mybatis 动态 SQL - choose, when, otherwise
有时候我们并不希望所有的条件都生效,而是只想在多个选项中选择一个。类似于Java中的switch语句,MyBatis提供了 <choose>元素。 让我们使用上面的例子,但现在如果提供了标题,则只搜索标题;如果提供了作者&a…...
idea Spring Boot项目使用JPA创建与数据库链接
1.pom.xml文件中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>…...
redis基础知识
学一点,整一点,基本都是综合别人的,弄成我能理解的内容 https://blog.csdn.net/liqingtx/article/details/60330555 https://blog.csdn.net/u014723137/article/details/125658176 https://redis.io/commands/ 官方命令 📌导航小助…...
最短路径(数据结构实训)(难度系数100)
最短路径 描述: 已知一个城市的交通路线,经常要求从某一点出发到各地方的最短路径。例如有如下交通图: 则从A出发到各点的最短路径分别为: B:0 C:10 D:50 E:30 F:60 输…...
基于SSM实现的电动汽车充电网点管理系统
一、系统架构 前端:jsp | jquery | bootstrap | css 后端:spring | springmvc | jdbc 环境:jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. web端-首页 02. web端-登录 03. web端-注册 04. web端-我要充电 05. web端-个人中心-消…...
Android ImageView如何使用.svg格式图片
我们知道imageview常用的图片格式是.jpg/.png或者drawable里的部分.xml文件。但有时UI会给过来.svg格式的文件,下面讲解如何使用.svg格式图片文件 step1:AS点击File -> New -> Vector Asset step2:选中要使用的.svg文件,按需要命名和调整&#x…...
力扣热题100道-子串篇
字串 560.和为K的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入&a…...
day3--Shell
1.shell语法 概论 概论 shell是我们通过命令行与操作系统沟通的语言。shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。 AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。Linux中常见的shell脚本有很多种&…...
【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序
前言:生活中我们总是会碰到各种各样的排序,今天我们就对部分常用的排序进行总结和学习,今天的内容还是相对比较简单的一部分,各位一起加油哦! 💖 博主CSDN主页:卫卫卫的个人主页 💞 ὄ…...
TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性
互联网时代,数据的迅猛增长给数据库带来了可扩展性的挑战,Gen AI 带来的数据暴增更加剧了这种挑战。传统的数据分片已经不能承载新时代数据暴增的需求,更简单且具有前瞻性的方法则是采用原生分布式数据库来解决扩展性问题。在这种规模化场景的…...
服务器数据恢复-误操作导致xfs分区数据丢失的数据恢复案例
服务器数据恢复环境: 某品牌OceanStorT系列某型号存储MD1200磁盘柜,组建的raid5磁盘阵列。上层分配了1个lun,安装的linux操作系统,划分两个分区,分区一通过lvm进行扩容,分区二格式化为xfs文件系统。 服务器…...
安装Kubernetes1.23、kubesphere3.4、若依项目自动打包部署到K8S记录
1.安装kubernetes1.23详细教程 kubernetes(k8s)集群超级详细超全安装部署手册 - 知乎 2.安装rancher动态存储 kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml3.安装kubesphere3.4 准备工作 您…...
(三) `MaterializedMySQL`同步机制解读
当使用 ClickHouse 的 MaterializedMySQL 引擎进行全量同步时,它主要依赖于两个关键机制:初始全量数据导入和随后的增量更新。以下是这些机制的详细解释: 初始全量数据导入 读取现有数据: 当您在 ClickHouse 中创建一个 MaterializedMySQL 类…...
使用 stream 流构建树(不使用递归)
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 文章目录 前言代码实现定义测试实体类实现方法 前言 最近遇到一个地区数据需要转换成树的需求,研究了一种…...
docker 部署 个人网页版 wps office
先声明一下,这个是用的linux桌面,然后安装了一个wps软件 安装好之后,通过我们自己的浏览器进行操作。。。。。 我只是试了一下,目前发现只能一个人用,里面还有谷歌浏览器,就是一个远程linux桌面 docker …...
windows进行udp端口转发,解决项目中服务器收不到组播数据的问题
说明 windows7的netsh interface portproxy命令只支持tcp端口转发 如果要进行udp端口转发可以使用sokit 运行sokit 端口转发(以为tcp作为讲解,udp类似) 选择转发器 输入监听地址(SRC地址)和端口 输入转发地址&am…...
抖音、小红书、视频号是如何判定是否限流的?
在这个新媒体营销的时代,抖音、小红书和视频号作为中国最受欢迎的社交媒体平台,为品牌和内容创作者提供了极具潜力的展示空间。然而,无论在哪个平台,限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池,同…...
frida native hook 技术( frida hook so层函数)
什么是hook: hook,中文译作”钩子“,”挂钩“,看起来好像和钓鱼有点关系,其实它更像一张网。想象这样一个场景:我们在河流上筑坝,只留一个狭窄的通道让水流通过,在这个通道上设一张网…...
SpringBoot运维(三)-- 多环境开发(yml多文件版)
目录 引言: 1. 多环境开发的配置 2. 多环境开发--根据功能拆分配置文件 引言: 多环境? 其实就是说你的电脑上写的程序最终要放到别人的服务器上去运行。每个计算机环境不一样...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
