当前位置: 首页 > news >正文

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=1m(yif(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

有时候我们并不希望所有的条件都生效&#xff0c;而是只想在多个选项中选择一个。类似于Java中的switch语句&#xff0c;MyBatis提供了 ​<choose>​元素。 让我们使用上面的例子&#xff0c;但现在如果提供了标题&#xff0c;则只搜索标题&#xff1b;如果提供了作者&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基础知识

学一点&#xff0c;整一点&#xff0c;基本都是综合别人的&#xff0c;弄成我能理解的内容 https://blog.csdn.net/liqingtx/article/details/60330555 https://blog.csdn.net/u014723137/article/details/125658176 https://redis.io/commands/ 官方命令 &#x1f4cc;导航小助…...

最短路径(数据结构实训)(难度系数100)

最短路径 描述&#xff1a; 已知一个城市的交通路线&#xff0c;经常要求从某一点出发到各地方的最短路径。例如有如下交通图&#xff1a; 则从A出发到各点的最短路径分别为&#xff1a; B&#xff1a;0 C&#xff1a;10 D&#xff1a;50 E&#xff1a;30 F&#xff1a;60 输…...

基于SSM实现的电动汽车充电网点管理系统

一、系统架构 前端&#xff1a;jsp | jquery | bootstrap | css 后端&#xff1a;spring | springmvc | jdbc 环境&#xff1a;jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. web端-首页 02. web端-登录 03. web端-注册 04. web端-我要充电 05. web端-个人中心-消…...

Android ImageView如何使用.svg格式图片

我们知道imageview常用的图片格式是.jpg/.png或者drawable里的部分.xml文件。但有时UI会给过来.svg格式的文件&#xff0c;下面讲解如何使用.svg格式图片文件 step1:AS点击File -> New -> Vector Asset step2:选中要使用的.svg文件&#xff0c;按需要命名和调整&#x…...

力扣热题100道-子串篇

字串 560.和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&a…...

day3--Shell

1.shell语法 概论 概论 shell是我们通过命令行与操作系统沟通的语言。shell脚本可以直接在命令行中执行&#xff0c;也可以将一套逻辑组织成一个文件&#xff0c;方便复用。 AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。Linux中常见的shell脚本有很多种&…...

【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序

前言&#xff1a;生活中我们总是会碰到各种各样的排序&#xff0c;今天我们就对部分常用的排序进行总结和学习&#xff0c;今天的内容还是相对比较简单的一部分&#xff0c;各位一起加油哦&#xff01; &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f44…...

TiDB 7.5 LTS 发版丨提升规模化场景下关键应用的稳定性和成本的灵活性

互联网时代&#xff0c;数据的迅猛增长给数据库带来了可扩展性的挑战&#xff0c;Gen AI 带来的数据暴增更加剧了这种挑战。传统的数据分片已经不能承载新时代数据暴增的需求&#xff0c;更简单且具有前瞻性的方法则是采用原生分布式数据库来解决扩展性问题。在这种规模化场景的…...

服务器数据恢复-误操作导致xfs分区数据丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌OceanStorT系列某型号存储MD1200磁盘柜&#xff0c;组建的raid5磁盘阵列。上层分配了1个lun&#xff0c;安装的linux操作系统&#xff0c;划分两个分区&#xff0c;分区一通过lvm进行扩容&#xff0c;分区二格式化为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 引擎进行全量同步时&#xff0c;它主要依赖于两个关键机制&#xff1a;初始全量数据导入和随后的增量更新。以下是这些机制的详细解释&#xff1a; 初始全量数据导入 读取现有数据: 当您在 ClickHouse 中创建一个 MaterializedMySQL 类…...

使用 stream 流构建树(不使用递归)

你知道的越多&#xff0c;你不知道的越多 点赞再看&#xff0c;养成习惯 如果您有疑问或者见解&#xff0c;欢迎指教&#xff1a; 企鹅&#xff1a;869192208 文章目录 前言代码实现定义测试实体类实现方法 前言 最近遇到一个地区数据需要转换成树的需求&#xff0c;研究了一种…...

docker 部署 个人网页版 wps office

先声明一下&#xff0c;这个是用的linux桌面&#xff0c;然后安装了一个wps软件 安装好之后&#xff0c;通过我们自己的浏览器进行操作。。。。。 我只是试了一下&#xff0c;目前发现只能一个人用&#xff0c;里面还有谷歌浏览器&#xff0c;就是一个远程linux桌面 docker …...

windows进行udp端口转发,解决项目中服务器收不到组播数据的问题

说明 windows7的netsh interface portproxy命令只支持tcp端口转发 如果要进行udp端口转发可以使用sokit 运行sokit 端口转发&#xff08;以为tcp作为讲解&#xff0c;udp类似&#xff09; 选择转发器 输入监听地址&#xff08;SRC地址&#xff09;和端口 输入转发地址&am…...

抖音、小红书、视频号是如何判定是否限流的?

在这个新媒体营销的时代&#xff0c;抖音、小红书和视频号作为中国最受欢迎的社交媒体平台&#xff0c;为品牌和内容创作者提供了极具潜力的展示空间。然而&#xff0c;无论在哪个平台&#xff0c;限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池&#xff0c;同…...

frida native hook 技术( frida hook so层函数)

什么是hook&#xff1a; hook&#xff0c;中文译作”钩子“&#xff0c;”挂钩“&#xff0c;看起来好像和钓鱼有点关系&#xff0c;其实它更像一张网。想象这样一个场景&#xff1a;我们在河流上筑坝&#xff0c;只留一个狭窄的通道让水流通过&#xff0c;在这个通道上设一张网…...

SpringBoot运维(三)-- 多环境开发(yml多文件版)

目录 引言: 1. 多环境开发的配置 2. 多环境开发--根据功能拆分配置文件 引言: 多环境? 其实就是说你的电脑上写的程序最终要放到别人的服务器上去运行。每个计算机环境不一样࿰...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...