一文教你全面掌握用Python实现线性回归
全文共4968字预计学习时长15分钟或更长此文的目的在于, 为那些阅读的人在理解跟应用线性回归之际, 给予参考。虽说线性回归算法是比较简单的, 然而仅仅是少许的人, 能够切实弄明白其基本的原则。文章一开始会深度探寻线性回归理论, 去明白其内里的运行机理, 而后借助实现此算法, 给商业问题构建模型。理论线性回归说不定是研习统计学能够想到的最为易于掌握的方式。于去学习更具难度程度的方式而言, 这会是称得上绝佳棒的一种入门的途径和方法。实际上, 好多更为高级一些的方法是能够被考虑当作是线性回归向前绵延延展所得出来的成果。所以说, 设法深入且充分搞明白这这么一个简易化的模型就能够为从以后所面临到的更为变幻多元而且难解难懂的探索奠定造就出十分很不错的基石基础。线性回归可以很好地回答以下问题· 两个变量间有关系吗· 关系有多强· 哪一个变量的影响最大· 预测的各个变量影响值能有多精确· 预测的目标值能有多精确· 其关系是线性的吗· 是否有交互作用预估系数假设仅有一个自变量和因变量那么线性回归表达如下一个自变量和因变量线性模型的方程式在上面所呈现的方程里头, 那两个β是作为系数存在的, 在该模型之中, 预测结果要借助这些系数来达成。那么如何算出这些参数呢所以, 得将最小二乘法或者误差平方和予以最小化。当然啦, 线性模型并非是毫无瑕疵的, 也没办法精准预测出全部所有的数据, 这实际上就在表明实际得到的值跟预测出来的值之间是存在着相异状况的。而该误差是能够运用以下这个方面计算得出:实际值减去预测值但为什么要平方误差呢平方误差, 是鉴于预测值存在大于实际值以及小于实际值这两种状况, 进而分别产生负的误差及正的误差。要是不存在平方误差的值, 误差的数值有可能会由于正负误差相互抵消而变小, 却不是由于模型拟合得好。此外, 平方误差会使误差值增大, 所以将平方误差最小化能够确保模型更良好。下图有助于更好地理解这个概念线性拟合数据集在上面所说的那个图表里头, 里头出现的红点是实际的值, 然而那个蓝线是线性模型。灰线所展示出来的是预测值跟实际值二者之间存在的误差。所以呀, 这个蓝线就是灰线长度平方之后的那个最小值。历经一连串超越本文难度层级的数学运算, 最终能够得出如下这般的方程式, 以此来进行参数的计算。x和y代表平均值预估系数的相关性目前已得知系数那么如何证明系数与因变量是否相关要找到p值, 这是最好的方法。p值用于量化数据的重要性, 它可以判断零假设是否被否定。什么是零假设将所有建模任务开展时, 都是基于自变量与因变量存有某种关联的假定来进行的。然而零假设却与之截然不同, 换句话强调, 就是自变量和因变量之间不存在丝毫关联。所以, 算出每一个系数的p值, 便能够知晓, 从数据值的层面来讲, 该变量对于预估因变量而言是否具有重要性。通常情况下, 要是p值小于0.05, 那么自变量与因变量之间就会存在强烈的关系。评估模型的准确性通过找出p值从数据值上来说自变量是非常重要的。如何得知该线性模型是拟合好呢通常使用RSE残差标准差和 R 来评估模型。RSE计算公式R计算公式可以这样理解第一个误差度量: 残差越小的时候, 说明模型在数据拟合方面越好, 并且这时候的数据更加趋近于线性关系。R能够衡量因变量的变化比例, 且是用自变量x来进行表述的。所以, 要是在一个线性方程里, 自变量x能够解释因变量, 那就意味着变化比例比较高, 此时R会接近于1。相反的情况, 也就是变化比例不高时, R就会接近0。多元线性回归理论处于真实生活氛围包围下, 不会有单一的一个自变量去把因变量予以预测的情形呈现。那么, 线性回归模型是不是一次仅仅针对一个自变量展开分析? 显然并非如此, 在实际发生的状况里采用的是多元线性回归。那方程式, 跟一元线性回归方程相像, 只是, 额外施加预测数, 附加相应的系数, 罢了句号。多元线性回归等式。p表示自变量的个数。评估自变量的相关性在前文中, 借助找出p值的方式, 对一元线性回归里自变量的相关性予以评估。在多元线性回归当中, F统计量会被用来评估相关性。F统计量计算公式。n表示数据量p表示自变量的个数。统计计算整个方程时得出F值, 在确定特定自变量过程中算出p值。若二者存在强烈相关性, F大于1这个情况会出现。与之相反的是, F大约等于1这种状况。比1大多少是足够大呢这是个不容易回答的问题 , 平时来讲 , 要是数据里存在一个数值极大, 那么F堪堪比1大那么分毫 , 却又象征强烈相关性 , 要是数据集中数据量极少 , 那F值非得比1大好多 , 方可表示强烈相关性。为什么在这种情况下不能使用p值呢我们拟合了好些自变量, 所以得考虑一种有诸多自变量的情形, 此情形下p值很大。自变量数量较多时, 通常大概5%的自变量的p值会极小, 哪怕其在统计层面并非显著。故而, 我们借助F统计量, 来防止把不重要的自变量当作重要的自变量。评估模型准确性与一元线性回归模型相同, 多元线性回归模型的准确性得以用R给予评估。然而要留意的一点是 随着自变量数量做着增添的情况R的数值在不断增大。这是由于模型必定会和训练数据拟合得愈发良好。然而, 这并不能表明, 该模型于测试数据当中, 也就是在预测未知数据之际, 将会具备优良的表现呢。增加干扰于线性模型里, 多元自变量指示着, 当中存在一些自变量, 这些自变量会对别的自变量造成影响。比如说。已知某一个人之年龄情况与受教育年数状况后。去对她之薪资进行预测。那就很 。年龄要是愈发大起来之后。受教育时长也就会愈发长起来。那么。在开展建模这个行为之时。到底要怎样去处置这种干扰情形。以两个自变量为例多元线性回归中的干扰由那上面的式子能够知道, 我们把两个自变量进行相乘操作, 进而得到了一个全新的系数。由简化之后的公式当中能够看到, 该系数是受到另一个特征值的作用影响的。一般来讲, 把干扰模型纳入考量范畴之际, 同样得顾及个体特征所产生的作用, 哪怕在p值不具备重要性之时也要如此作为。这即是分层递阶原则。该原理背后的缘由在于, 要是两个自变量彼此间存在干扰, 那么把它们各自的影响予以考虑进去就会对构建模型产生微小的作用。上述这些便是线性回归当中的基本原理。紧接着, 针对下面两种情况此文会展开阐述, 一种情况是在里面达成一元线性回归呢, 另一种情况是在里面达成多元线性回归, 还有就是要说明怎样来评定这两种模型的模型参数质量的这个状况以及怎样来评定这两种模型的模型整体表现的这种情形。特向读完文章的诸位苦读者予以强力的殷切劝告, 祈请到其上动手施行全程照模样地再呈现一回该作业情境, 这样的举措必然有助大伙淋漓尽致地弄明白并实际运用好此教程呀。那么开始吧本文所运用到的数据集, 涵盖了在电视之上花费的广告费用, 以及在广播之上花费的广告费用, 还有在报纸之上花费的广告费用, 以及这些花费各自所带来的销售额。该实验旨在利用线性代数了解广告费用对销售额的影响。导入库通过编程存在着一项益处, 那便是它能够给予多个库的途径, 进而让我们能够迅速读取数据, 能够绘制数据, 还能够实行线性回归。笔者有着这样的习惯, 会把所有那些必要的库放置在代码的起始部位, 以此让代码呈现出一种井井有条的状态。导入:as pdnumpy as np. as pltfrom .from ..api as sm读取数据下载数据集后将数据集放在项目文件的数据目录中读取数据data pd.(data/.csv)查看数据时输入data.head()得到结果如下能观察得出, 名为“未命名: 0”的这一列是多余的, 故而, 我们将这一列删除。data.drop(: 0, axis1)现在数据已经清理完毕可以运行线性回归了简单线性回归建模当采取简单线性回归进行建模工作的期间, 此处单单考量电视广告针对销售额而产生的影响。于正式构建模型以前, 首先对数据予以查看一番。可以利用一个常用的绘制库来画一个散点图。运行上述代码可以得到下图电视广告费用和销售额散点图从图中可以看到电视广告费用和销售额明显相关。基于此数据可以得出线性近似。操作如下X data..(-1,1)y data..(-1,1)reg ()reg.fit(X, y)就这么简单没错针对数据集给出一条用于拟合的直线, 进而查看等式当中的参数居然就是这般容易的事情。并且在这个案例里, 能够得出:一元线性回归等式接下来将数据拟合线可视化。 reg.(X)可以得到线性拟合通过观察上图能够发觉, 一元线性回归模型好像能够大概阐释电视广告费用对于销售额所产生的影响。评估模型相关性下面要做的是查验一个模型的表现是不是良好, 如果是这样做的话, 那就得去查看它的R值, 以及每个系数的p值才行。输入以下代码X datay dataX2等于sm.Xest, sm.Xest是sm.OLSy, X2, est2等于est.fit, 打印est2.。可以得到如下输出R值和p值瞅瞅这两个系数, 能发觉, 虽说p值不见得就是0, 可它低得很呐。这就表明, 这些系数跟目标值, 在这儿也就是销售额, 它们之间存在着相当强烈的联系。与此同时能够观察到, R值是0.612。这表明大概60%的销售额变动是能够凭借电视广告花费予以解释的。这样得出的结果是合乎情理的。然而 , 这决然不是能够用以精准预测销售额的最佳结果。在报纸以及广播广告方面的花费肯定会对销售额产生一定的作用。接下来将检测多元线性回归模型是否能取得更好的结果。多元线性回归建模像一元线性回归的建模流程那般, 去界定特征值跟目标变量, 并且借助 -learn 库来施行线性回归模型。Xs data.drop(sales, : 0, axis1)y data.(-1,1)reg ()reg.fit(Xs, y)就是这么简单根据上述代码可以得到如下等式多元线性回归等式当然, 因为变量总共有四个, 这地方没办法将三种广告媒介对于销售额所产生的影响实现可视化, 那是需要有一个四维图形才行的、。留意一下, 报纸的系数呢是呈现为负数状态的, 而且这个负数是相当小的数值。那么这跟模型之间有没有关联? 要想回答这个问题, 我们就得去计算模型的F统计量, 还得计算R值, 另外呢每个系数的p值也都要进行计算。评估模型相关性恰似你所料想的那般, 这一操作流程, 与一元线性回归模型里头的对应流程, 极为相像。X np.((data, data, data))y dataX2 sm.(X)est sm.OLS(y, X2)est2 est.fit()print(est2.())可以得到R值p值和F统计量能看到, 多元线性回归模型的R值, 相较于一元线性回归模型, 高了许多, 达到了0.897F统计量是570.3, 它比1要大许多, 因为本文用的数据集较小, 仅有200个数据, 所以表明广告花费和销售额存在强烈联系。最后, 鉴于本文仅采用了三个自变量, 故而能够借助p值来评判它们与模型是否相关。由上表能够发觉, 第三个系数, 也就是报纸广告的系数, 其p值相较于另外两个而言更大。这表明从数据角度而言, 报纸广告的花销并非至关重要。将这个自变量予以去除, 或许会致使R出现略微下降, 然而却能够助力获取更为精确的预测结果。虽然线性回归模型不见得是表现最出色的模型, 然而知晓线性回归是极为关键的, 这会助力我们奠定根基, 进而领会更为繁杂的统计学办法。

相关新闻

物联网安全:SE050安全元件与PIC18F87J10的硬件集成实践

物联网安全:SE050安全元件与PIC18F87J10的硬件集成实践

1. 物联网安全现状与SE050的定位在2023年全球物联网设备数量突破430亿台的大背景下,安全威胁呈现指数级增长。根据最新行业报告,物联网设备正以每分钟5000台的速度接入网络,而其中近70%的设备存在可被利用的安全漏洞。传统MCU在应对证书管理、…

2026/7/28 12:42:31阅读更多 →
剪切干涉条纹处理技术与MATLAB实现详解

剪切干涉条纹处理技术与MATLAB实现详解

1. 剪切干涉条纹数据采集与处理的核心原理 剪切干涉技术作为一种高精度光学测量方法,在表面形貌检测、光学元件质量评估等领域有着广泛应用。其核心原理是通过将待测波前与自身经过微小位移的复制波前进行干涉,形成包含被测物体相位信息的干涉条纹图样。…

2026/7/28 12:42:31阅读更多 →
Avidemux2深度解析:跨平台视频编辑的模块化架构与性能优化策略

Avidemux2深度解析:跨平台视频编辑的模块化架构与性能优化策略

Avidemux2深度解析:跨平台视频编辑的模块化架构与性能优化策略 【免费下载链接】avidemux2 Avidemux2, simple video editor 项目地址: https://gitcode.com/gh_mirrors/avi/avidemux2 Avidemux2作为一款开源跨平台视频编辑软件,在Linux、Windows…

2026/7/28 12:42:31阅读更多 →
Frida Stalker指令级追踪实战:逆向OLLVM混淆的AES算法

Frida Stalker指令级追踪实战:逆向OLLVM混淆的AES算法

1. 项目概述:当指令级追踪遇上代码混淆 逆向工程领域里,代码混淆和反调试技术就像一场永不停歇的攻防战。OLLVM(Obfuscator LLVM)作为一款强大的开源代码混淆框架,通过控制流平坦化、虚假分支插入、指令替换等手段&…

2026/7/28 13:48:43阅读更多 →
终极Lean版本管理指南:如何轻松管理多个Lean安装版本

终极Lean版本管理指南:如何轻松管理多个Lean安装版本

终极Lean版本管理指南:如何轻松管理多个Lean安装版本 【免费下载链接】elan The Lean version manager 项目地址: https://gitcode.com/gh_mirrors/el/elan 还在为不同Lean项目需要不同版本而烦恼吗?elan作为专业的Lean版本管理器,让你…

2026/7/28 13:48:43阅读更多 →
最短公共超序列(SCS)算法详解:从LCS到C++动态规划实现

最短公共超序列(SCS)算法详解:从LCS到C++动态规划实现

1. 项目概述:从字符串拼接难题到SCS算法 在C/C开发中,尤其是处理生物信息学中的DNA序列比对、版本控制系统中的文件差异合并,或者简单到生成一个包含多个单词所有字符的最短文本时,我们常常会遇到一个经典的字符串问题&#xff1a…

2026/7/28 13:48:43阅读更多 →
AI能源管理优化落地指南(2024国家能效新规适配版):从数据孤岛到动态负荷预测的9步闭环

AI能源管理优化落地指南(2024国家能效新规适配版):从数据孤岛到动态负荷预测的9步闭环

更多请点击: https://intelliparadigm.com 第一章:AI能源管理优化落地指南(2024国家能效新规适配版):从数据孤岛到动态负荷预测的9步闭环 2024年《重点用能单位能源智能化管理实施规范》正式施行,要求工业…

2026/7/28 13:48:43阅读更多 →
物联网设备安全芯片选型与STM32+SE050方案实践

物联网设备安全芯片选型与STM32+SE050方案实践

1. 为什么物联网设备需要专用安全芯片?在物联网设备爆炸式增长的今天,安全性已成为最薄弱的环节。传统MCU(如STM32系列)虽然性能强大,但在安全防护方面存在先天不足:缺乏物理隔离的安全存储区域&#xff0c…

2026/7/28 13:48:43阅读更多 →
5个步骤彻底清理重复文件:dupeGuru智能去重完全指南

5个步骤彻底清理重复文件:dupeGuru智能去重完全指南

5个步骤彻底清理重复文件:dupeGuru智能去重完全指南 【免费下载链接】dupeguru Find duplicate files 项目地址: https://gitcode.com/gh_mirrors/du/dupeguru 还在为电脑中堆积如山的重复文件而烦恼吗?照片、文档、音乐文件占据大量存储空间&…

2026/7/28 13:46:43阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/27 16:57:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →