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

最小二乘法处理线性回归

最小二乘法是一种数学优化技术,用于查找最适合一组数据点的函数。 该方法主要用于线性回归分析,当然,也可用于非线性问题。

开始之前,我们先理解一下什么是回归。

回归:回归是一种监督学习算法,用于建模和分析两个或多个变量之间的关系。 具体来说,回归分析旨在了解自变量(输入特征)和因变量(输出或目标)之间的关系。 当您有数据点并想要使用一个或多个变量来预测或解释另一个变量时,通常会使用回归分析。

回归有很多中:

  • 线性回归:因变量和自变量之间的关系被建模为线性方程
    y = a x + b y=ax+b y=ax+b

  • 多元线性回归:允许有两个或多个自变量。
    y = a 1 x 1 + a 2 x 2 + ⋯ + a n x n + b y=a 1x 1+a 2x 2+⋯+a nx n+b y=a1x1+a2x2++anxn+b

  • 多项式回归:因变量和自变量之间的关系被建模为多项式方程。

y = a 1 x 2 + a 2 x + b y=a 1x 2+a 2x+b y=a1x2+a2x+b

  • 逻辑回归、岭回归、决策树回归、随机森林回归等等…

由于一些问题,这里我们只从简单的线性回归开始。 如果还有其他疑问,或者想了解更多内容,欢迎评论。

简单线性方程公式如下:

y = a x + b y=ax+b y=ax+b

其中:

  • y 是因变量
  • x 是自变量
  • a 是斜率
  • b 是截距

x 和 y 是我们已知的值。 当我们找到a和b的值时,我们可以将它们带入公式来解决线性回归问题。

要求斜率和截距的值,可以使用最小二乘法来计算。

最小二乘法求解a、b公式如下:

a = n ( ∑ x y ) − ( ∑ x ) ( ∑ y ) n ( ∑ x 2 ) − ( ∑ x ) 2 a = \frac{n(\sum xy) - (\sum x)(\sum y)}{n(\sum x^2) - (\sum x)^2} \ a=n(x2)(x)2n(xy)(x)(y) 

b = ∑ y − a ∑ x n b = \frac{\sum y - a \sum x}{n} \ b=nyax 

其中:

  • ∑ x \sum x x 是 x 值的总和
  • ∑ y \sum y y 是 y 值的总和
  • ∑ x y \sum xy xy 是 x 和 y 的乘积的总和
  • ∑ x 2 \sum x^2 x2 是 x 的平方的总和
  • n n n 是样本数量

假设我们有一堆数据:

a = [[1, 2], [2, 4], [3, 3], [4, 6], [5, 6]]

在这里插入图片描述

让我们使用这些公式来手动计算 a 和 b 的值:

import numpy as npa = np.array([[1, 2], [2, 4], [3, 3], [4, 6], [5, 6]])
x = a[:, 0]
y = a[:, 1]n = len(x)sum_x = np.sum(x)
sum_y = np.sum(y)
sum_x2 = np.sum(x ** 2)
sum_xy = np.sum(x * y)slope = (n * sum_xy - sum_x * sum_y) / (n * sum_x2 - sum_x ** 2)
intercept = (sum_y - slope * sum_x) / nslope, intercept

你可以复制自己尝试一下,或者依此作为参考按照自己的想法手写一个。

得出的值为(1.0, 1.2),所以使用最小二乘法,我们得到拟合直线的斜率 a=1.0 和截距 b=1.2。因此,这条最佳拟合直线的方程是 y = 1.0 x + 1.2 y=1.0x+1.2 y=1.0x+1.2

在这里插入图片描述

有了这个公式,就可以进行预测了,比如我有一个坐标x=10,根据x来预测y的值:

y=1.0*10+1.2 = 11.2

如果你已经准备好了或者想使用现有库,可以:

  • 使用线性回归根据评分预测票房

此外,你也可以尝试搜索更多数据集,比如房价,汽车速度等,完成更多挑战。

相关文章:

最小二乘法处理线性回归

最小二乘法是一种数学优化技术,用于查找最适合一组数据点的函数。 该方法主要用于线性回归分析,当然,也可用于非线性问题。 开始之前,我们先理解一下什么是回归。 回归:回归是一种监督学习算法,用于建模和…...

ModbusCRC16校验 示例代码

作者: Herman Ye Galbot Auromix 测试环境: Ubuntu20.04 更新日期: 2023/08/30 注1: Auromix 是一个机器人爱好者开源组织。 注2: 本文在更新日期经过测试,确认有效。 笔者出于学习交流目的, 给…...

一不留神就掉坑

乘除顺序问题 在据卡特兰数[1]公式,解决leetcode-96 不同的二叉搜索树[2]时,遇到一个非常诡异的问题, package mainimport "fmt"func main() { for i : 0; i < 40; i { fmt.Printf("第%d个卡特兰数为:%d\n", i, numTrees(i)) }}func numTrees(n int) i…...

Redis数据类型(list\set\zset)

"maybe its why" List类型 列表类型是⽤来存储多个有序的字符串&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;⼀个列表最多可以存储个2^32 - 1个元素。在Redis中&#xff0c;可以对列表两端插⼊&#xff08;push&#xff09…...

TongWeb安装以及集成

TongWeb 安装步骤 静默安装 获取linux可执行安装包 如: Install_TWx.x.x.x_Enterprise_Linux.bin 创建安装所需配置文件 install.properties 内容如下 [root@node5 tongweb]# cat install.properties INSTALL_UI=silent USER_INSTALL_DIR=/home/tongweb SILENT_JDK_HOME=/jd…...

ScreenToGif-动图制作软件实用操作

ScreenToGif官网&#xff1a;ScreenToGif ⭕第一步&#xff1a;启动页面 ⭕第二步&#xff1a;选项 &#x1f95d;录像机-捕获频率选择手动-播放延迟1000ms(可以任意) ⭕第三步&#xff1a;录像机开始录屏 &#x1f95d;我们调整录屏的大小后&#xff0c;打开画图&#xff0c…...

sqlibs安装及复现

sqlibs安装 安装phpstudy后&#xff0c;到github上获取sqlibs源码 sqli-labs项目地址—Github获取&#xff1a;GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. 在phpstudy本地文件中的Apache目录中解压上方下载的源码。 将sq…...

OpenAI 创始人 Sam Altman 博客有一篇 10 年前的文章

OpenAI 创始人 Sam Altman 博客有一篇 10 年前的文章《Advice for ambitious 19 year olds》&#xff0c;给 19 岁年轻人的建议&#xff0c;从 #参考答案 看到&#xff0c;非常适合我们&#x1f923;年轻人&#xff0c;顺便用 GPT4 重新翻译了下全文。 太长不读纯摘要版本如下&…...

写的一款简易的热点词汇记录工具

项目需要对用户提交的附件、文章、搜索框内容等做热词分析。如下图&#xff1a; 公司有大数据团队。本着不麻烦别人就不麻烦别人的原则&#xff0c;写了一款简易的记录工具&#xff0c;原理也简单&#xff0c;手工在业务插入锚点&#xff0c;用分词器分好词&#xff0c;排掉字…...

算法通关村——滑动窗口高频问题

1. 无重复字符的最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 1.1 滑动窗口 找到最长字串需要找到字串的首尾位置…...

mybatis源码学习-2-项目结构

写在前面,这里会有很多借鉴的内容,有以下三个原因 本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误…...

selenium 自动化测试——环境搭建

安装python&#xff0c;并且使用pip命令安装 selenium pip3 install selenium 然后尝试第一次使用selenium 完成一个简单的测试自动化脚本 from selenium import webdriver from selenium.webdriver.common.by import By import timedriver webdriver.Chrome() driver.get(…...

得物一面,场景题问得有点多!

题目来源&#xff1a;https://www.nowcoder.com/discuss/525371909735792640 前文 本期是【捞捞面经】系列文章的第 1 期&#xff0c;持续更新中…。 《捞捞面经》系列正式开始连载啦&#xff0c;据说看了这个系列的朋友都拿到了大厂offer~ 欢迎星标订阅&#xff0c;持续更新…...

Prompt Tuning 和instruct tuning

Prompt Tuning 是啥&#xff1f; prompt的思想是&#xff0c;把下游任务的输入转化为预训练模型的原始任务。 以bert作为举例&#xff0c;假设任务是文本分类。“今天天气很好。”我们想判断一下这句话的情感是正面还是负面 fine-tune的方法是在bert之后接一个head&#xff0…...

springboot 与异步任务,定时任务,邮件任务

异步任务 在Java应用中&#xff0c;绝大多数情况下都是通过同步的方式来实现交互处理的&#xff1b;但是在处理与第三方系统交互的时候&#xff0c;容易造成响应迟缓的情况&#xff0c;之前大部分都是使用多线程来完成此类任务&#xff0c;其实&#xff0c;在Spring 3.x之后&a…...

2022年06月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:小白鼠再排队2 N只小白鼠(1 < N < 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从小到大的顺序输出它们头上帽子的颜色。帽子的颜色用 “red”,“blue”等字符串来表示。不同的小白鼠可…...

【C++】C++11新特性(下)

上篇文章&#xff08;C11的新特性&#xff08;上&#xff09;&#xff09;我们讲述了C11中的部分重要特性。本篇接着上篇文章进行讲解。本篇文章主要进行讲解&#xff1a;完美转发、新类的功能、可变参数模板、lambda 表达式、包装器。希望本篇文章会对你有所帮助。 文章目录 一…...

python内网环境安装第三方包

文章目录 一、问题二、解决方法三、代码实现 一、问题 内网安装第三方包的应用场景&#xff0c;一般是一些需要在没网的环境下进行开发的情况。这些环境一般仅支持本地局域网访问&#xff0c;所以只能在不下载任何第三方包的情况下艰难开发。 二、解决方法 将当前应用依赖的第…...

javaScipt

javaScipt 一、JavaScript简介二、javaScript基础1、输入输出语法2、变量3、常量4、数据类型4.1、数字型 number4.2、字符串类型 string4.3、布尔类型 boolean4.4、未定义类型 undefined4.5、null 空类型4.6、typeof 检测变量数据类型 5、数据类型转换5.1、隐式转换5.2、显示转…...

Linux(实操篇三)

Linux实操篇 Linux(实操篇三)1. 常用基本命令1.7 搜索查找类1.7.1 find查找文件或目录1.7.2 locate快速定位文件路径1.7.3 grep过滤查找及"|"管道符 1.8 压缩和解压类1.8.1 gzip/gunzip压缩1.8.2 zip/unzip压缩1.8.3 tar打包 1.9 磁盘查看和分区类1.9.1 du查看文件和…...

Cadence 17.4 PCBEditor 中文菜单设置保姆级教程(含环境变量配置与补丁号查看)

Cadence 17.4 PCBEditor 中文界面配置全攻略&#xff1a;从环境变量到实战技巧 刚接触Cadence Allegro的工程师常被其全英文界面劝退。其实从17.4版本开始&#xff0c;PCBEditor已内置中文支持&#xff0c;只是需要一些"隐藏操作"来激活。本文将手把手带你完成从补丁…...

如何完美解决MacBook触控板在Windows的三指拖动难题

如何完美解决MacBook触控板在Windows的三指拖动难题 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDragOnWindows …...

Qwen1.5镜像部署推荐:一键启动WebUI,告别手动配置烦恼

Qwen1.5镜像部署推荐&#xff1a;一键启动WebUI&#xff0c;告别手动配置烦恼 还在为手动配置AI模型环境而头疼吗&#xff1f;今天介绍的Qwen1.5-0.5B-Chat镜像部署方案&#xff0c;让你真正实现一键启动&#xff0c;无需任何复杂操作就能拥有智能对话服务。 1. 项目概述&#…...

Qwen2.5-72B-Instruct-GPTQ-Int4部署教程:vLLM与HuggingFace Transformers对比

Qwen2.5-72B-Instruct-GPTQ-Int4部署教程&#xff1a;vLLM与HuggingFace Transformers对比 1. 模型简介 Qwen2.5-72B-Instruct-GPTQ-Int4是Qwen大语言模型系列的最新版本&#xff0c;具有720亿参数规模。相比前代Qwen2&#xff0c;这个版本在多个方面实现了显著提升&#xff…...

避开这些坑!算法工程师自学必备的5个高效学习法与工具推荐

避开这些坑&#xff01;算法工程师自学必备的5个高效学习法与工具推荐 1. 为什么大多数自学算法工程师会失败&#xff1f; 在咖啡馆见到老张时&#xff0c;他正对着电脑屏幕上的LeetCode题目发呆。这位转行学习算法的前机械工程师已经坚持了8个月&#xff0c;但最近一次面试还是…...

Flash存储、外设操作与系统架构

课程目标与知识体系 课程目的 掌握STM32内部Flash读写操作 熟悉STM32存储器映射 了解malloc动态内存分配 理解STM32启动流程与地址空间知识点体系STM32系统架构 ├── 外设操作&#xff08;GPIO/USART/DMA&#xff09; ├── 存储器系统 │ ├── 存储器分类 │ ├── 存储…...

从设计稿到上架:一份给独立开发者的Android应用图标全流程制作指南

从设计稿到上架&#xff1a;独立开发者的Android应用图标全流程实战 在移动应用生态中&#xff0c;图标是用户对产品的第一印象。Google Play商店数据显示&#xff0c;专业设计的应用图标能提升40%以上的点击率。但对于独立开发者和小团队而言&#xff0c;如何在有限资源下打造…...

163MusicLyrics全能工具:三步搞定音乐歌词高效解决方案

163MusicLyrics全能工具&#xff1a;三步搞定音乐歌词高效解决方案 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 163MusicLyrics是一款专注于音乐歌词获取与管理的开源…...

(三)谷歌浏览器结合Selenium IDE实现自动化脚本录制与Python导出

1. 为什么你需要Selenium IDE脚本录制工具 最近有个测试同事跟我吐槽&#xff0c;说他每天要花3小时重复点击同一个电商网站&#xff0c;就为了检查商品详情页的展示逻辑。我听完直接给他安利了Selenium IDE——这个藏在谷歌浏览器里的小工具&#xff0c;5分钟就能搞定他半天的…...

10分钟快速上手Muzic:从零开始你的AI音乐创作之旅

10分钟快速上手Muzic&#xff1a;从零开始你的AI音乐创作之旅 【免费下载链接】muzic 这是一个微软研究院开发的音乐生成AI项目。适合对音乐、音频处理以及AI应用感兴趣的开发者、学生和研究者。特点是使用深度学习技术生成音乐&#xff0c;具有较高的创作质量和听觉体验。 项…...