机器学习stats_linregress
import numpy as np
from scipy import stats# r = stats.linregress(xs, ys) 是一个用于执行简单线性回归的函数,通常来自 scipy.stats 库。# 具体含义如下:# stats.linregress:执行线性回归分析,拟合一条最佳直线来描述两个变量 xs 和 ys 之间的关系。
# xs:自变量(输入变量),是一个数组。
# ys:因变量(输出变量),是一个数组。
# r:返回的回归结果对象,包含以下信息:
# slope:回归直线的斜率。
# intercept:回归直线的截距。
# rvalue:相关系数(衡量变量之间的线性相关性)。
# pvalue:斜率的 p 值(用于检验斜率是否显著不为零)。
# stderr:斜率的标准误差。# 示例数据
xs = np.array([1, 2, 3, 4, 5])
ys = np.array([2, 4, 5, 4, 5])# 执行线性回归
r = stats.linregress(xs, ys)# 输出结果
print("斜率:", r.slope)
print("截距:", r.intercept)
print("相关系数:", r.rvalue)
斜率: 0.6000000000000001
截距: 2.1999999999999997
相关系数: 0.7745966692414835
# 该函数会返回一个包含多个统计信息的对象,通常将其赋值给一个变量(这里是 r)。这个对象包含以下几个属性:
# r.slope:直线的斜率,也就是线性方程
# y=mx+b
# 中的
# m
# 。
# r.intercept:直线的截距,即线性方程
# y=mx+b
# 中的
# b
# 。
# r.rvalue:相关系数,衡量了自变量和因变量之间线性关系的强度和方向,取值范围是 -1 到 1。
# r.pvalue:用于检验斜率是否显著不为零的 p 值。如果 p 值很小(通常小于 0.05),则表明自变量和因变量之间存在显著的线性关系。
# r.stderr:斜率的标准误差,用于衡量斜率估计的不确定性。import numpy as np
from scipy import stats# 示例数据
xs = np.array([1, 2, 3, 4, 5])
ys = np.array([2, 4, 6, 8, 10])# 执行线性回归分析
r = stats.linregress(xs, ys)# 输出结果
print(f"斜率: {r.slope}")
print(f"截距: {r.intercept}")
print(f"相关系数: {r.rvalue}")
print(f"p 值: {r.pvalue}")
print(f"斜率的标准误差: {r.stderr}")
斜率: 2.0
截距: 0.0
相关系数: 1.0
p 值: 1.2004217548761408e-30
斜率的标准误差: 0.0
σ = ∑ ( x i − μ ) 2 N \sigma = \sqrt{\frac{\sum (x_i - \mu)^2}{N}} σ=N∑(xi−μ)2
Sample Standard Deviation:
s = ∑ ( x i − x ‾ ) 2 n − 1 s = \sqrt{\frac{\sum (x_i - \overline{x})^2}{n-1}} s=n−1∑(xi−x)2
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from scipy import statsmpl.rcParams['font.sans-serif'] = ['SimHei']xs = range(0,501) # 500分钟
ys = [30] # 0分钟时的初始y值(y代表股票价格)# 随机数播种机设定seed=42,不同的seed产生的随机数列不同,
# 你多运行几次会发现相同的seed产生的一样的随机数列,输出的图表相同。
np.random.seed(seed=42) for delta in np.random.normal(0,0.5,500):# delta是从上一个y到下一个y的波动ys.append(ys[-1] + delta)# 这个函数能把相对应的x 对应的y的数据给整出来 斜率,截距
r = stats.linregress(xs, ys) # 计算两组测量值xs, ys的线性最小二乘回归。
""" linregress 返回的r 有几个属性:
slope (float)Slope of the regression line. 线性回归曲线的斜率Slope
intercept (float)Intercept of the regression line. 线性回归曲线的纵截距intercept
......
"""
# r.slope:线性回归曲线的斜率。
# r.intercept:线性回归曲线的纵截距。# 我们都知道 y = mx + b# r.slope 对应m r.intercept 对应的是b# 利用一段for循环遍历x 从xs的起点到末点line = [r.slope * x + r.intercept for x in xs] # 获得线性回归曲线的各点纵坐标# zip() 的作用 得到一个(ys,line)
# ys = [1, 2, 3]
# line = [1.1, 2.2, 3.3]
# for pair in zip(ys, line):
# print(pair)# 输出
# (1, 1.1)
# (2, 2.2)
# (3, 3.3)# (y - y0) for y, y0 in zip(ys, line)
# 这是一个列表推导式,它会遍历 zip(ys, line) 生成的每个元组 (y, y0),其中 y 是原始数据 ys 中的元素,y0 是线性回归曲线 line 中对应位置的元素。对于每一对元素,计算它们的差值 y - y0,最终将所有差值组成一个新的列表。std = np.std([(y-y0) for y,y0 in zip(ys,line)]) # 计算标准差# 相当于top 是y 总体上移了标准差
top = [y + std for y in line] # 回归曲线纵坐标上移标准差std# 相当于bottom 总体下移了标准差
bottom = [y - std for y in line] # 下移stdplt.plot(xs, ys, color = 'blue', label = '原数据') # 原数据
plt.plot(xs, line, color='red', label='线性回归曲线' ) # 线性回归曲线
plt.plot(xs, top, color='green', label='上浮动')
plt.plot(xs, bottom, color='orange', label='下浮动')plt.ylabel('Stock Price ($)')
plt.xlabel('Elapsed Time (min)')
plt.legend()
plt.savefig('figures/1-3.svg')

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from scipy import stats# 英里里程
mileages = [4.1429, 8.9173, 6.5, 6.0601, 12.3, 6.2, 2.5782, 0.9, 1.7, 13.1045, 24.7, 9.2699, 17.2, 10.0, 10.0, 2.8, 12.3773, 19.6, 7.3397,2.1178, 12.9886, 10.9884, 16.9, 6.0, 12.9, 8.1936, 10.5, 8.0713, 1.7, 10.0, 15.6097, 17.0, 16.7, 5.6, 11.3, 19.9, 9.6, 21.6, 20.3]
# 对应二手车价格
prices = [16980.0, 15973.0, 9900.0, 15998.0, 3900.0, 12540.0, 21688.0, 17086.0, 23000.0, 8900.0, 3875.0, 10500.0, 3500.0, 26992.0, 17249.0, 19627.0, 9450.0, 3000.0, 14999.0,24990.0, 7967.0, 7257.0, 4799.0, 13982.0, 5299.0, 14310.0, 7800.0, 12250.0, 23000.0, 14686.0, 7495.0, 4950.0, 3500.0, 11999.0, 9600.0, 1999.0, 4300.0, 3500.0, 4200.0]# 指数拟合曲线,这里居然直接写出来,没给出算法
def price(mileage):return 26500 * (0.905 ** mileage)xs = np.linspace(0,25,100)
ys = price(xs) # xs对应的拟合曲线纵坐标plt.scatter(mileages,prices) # 原数据散点图
plt.plot(xs,ys, color='C1') # 拟合曲线折线图
plt.xlabel('Mileage (10,000s of miles)')
plt.ylabel('Price ($)')
plt.savefig('figures/1-5.svg')

import matplotlib.pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]# 绘制原始数据
plt.plot(x, y)# 绘制辅助线
plt.plot([-5, 30], [10000, 10000], color="gray", linestyle="dashed")# 显示图形
plt.show()

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from scipy import stats# 英里里程
mileages = [4.1429, 8.9173, 6.5, 6.0601, 12.3, 6.2, 2.5782, 0.9, 1.7, 13.1045, 24.7, 9.2699, 17.2, 10.0, 10.0, 2.8, 12.3773, 19.6, 7.3397,2.1178, 12.9886, 10.9884, 16.9, 6.0, 12.9, 8.1936, 10.5, 8.0713, 1.7, 10.0, 15.6097, 17.0, 16.7, 5.6, 11.3, 19.9, 9.6, 21.6, 20.3]
# 对应二手车价格
prices = [16980.0, 15973.0, 9900.0, 15998.0, 3900.0, 12540.0, 21688.0, 17086.0, 23000.0, 8900.0, 3875.0, 10500.0, 3500.0, 26992.0, 17249.0, 19627.0, 9450.0, 3000.0, 14999.0,24990.0, 7967.0, 7257.0, 4799.0, 13982.0, 5299.0, 14310.0, 7800.0, 12250.0, 23000.0, 14686.0, 7495.0, 4950.0, 3500.0, 11999.0, 9600.0, 1999.0, 4300.0, 3500.0, 4200.0]# 指数拟合曲线,这里居然直接写出来,没给出算法
def price(mileage):return 26500 * (0.905 ** mileage)xs = np.linspace(0, 25, 100)
ys = price(xs)# 这是在计算预算10000美元下的里程数是多少,看到书P5中间
target_mileage = np.log(10/26.5)/np.log(0.905)plt.scatter(mileages, prices)
plt.plot(xs, ys, color='C1')# 记录下原来的坐标系x范围和y范围,避免绘制辅助线时导致范围扩大,
# 不信你把这一行和后面的 plt.xlim(*xlim) plt.ylim(*ylim) 都注释掉看看
xlim, ylim = plt.xlim(), plt.ylim()# 绘制连接(-5, 10000)和(30, 10000)的虚(dashed)折线, 辅助线使用了灰色gray保持低调
plt.plot([-5, 30], [10000, 10000], color="gray", linestyle="dashed")
# 绘制纵向的辅助折线,从(target_mileage, -5000)到(target_mileage, 10000)
plt.plot([target_mileage, target_mileage], [-5000, 10000], color="gray", linestyle="dashed")# 保持原坐标系大小
plt.xlim(*xlim)
plt.ylim(*ylim)
# x, y轴要标注好, 最后保存起来
plt.xlabel('Mileage (10,000s of miles)')
plt.ylabel('Price ($)')
plt.savefig('figures/1-6.svg')

import sys # sys模块提供了系统相关的参数和函数
sys.path.append(r'C:\Users\XXXXXX\Xiyong\python test\Math-for-Programmers-zh-master\Chapter 03') # 这里在处理python环境的sys.path中添加了../Chapter 03 (../ 代表该文件夹的父文件夹 Math-for-Programmers-zh/ ,Chapter 03 在 Math-for-Programmers-zh/ 中)from draw3d import * # 由于../Chapter 03已经在环境变量中,从 ../Chapter 03/drwa3d中导入所有的函数和变量sys.path # 我来查看环境变量, 最后一个是我们已经添加进来的了../Chapter 03triangle = [(2.3,1.1,0.9), (4.5,3.3,2.0), (1.0,3.5,3.9)]# 绘制triangle的三个点的连线,具体以后会知道的😁
draw3d(Polygon3D(*triangle),Points3D(*triangle),axes=False,origin=False,save_as='figures/1-8.svg'
)

们已经添加进来的了…/Chapter 03
triangle = [(2.3,1.1,0.9), (4.5,3.3,2.0), (1.0,3.5,3.9)]
绘制triangle的三个点的连线,具体以后会知道的😁
draw3d(
Polygon3D(*triangle),
Points3D(*triangle),
axes=False,
origin=False,
save_as=‘figures/1-8.svg’
)
相关文章:
机器学习stats_linregress
import numpy as np from scipy import stats# r stats.linregress(xs, ys) 是一个用于执行简单线性回归的函数,通常来自 scipy.stats 库。# 具体含义如下:# stats.linregress:执行线性回归分析,拟合一条最佳直线来描述两个变量 …...
Linux系统01---指令
目录 学习的方法 Linux 系统介绍 2.1 Unix 操作系统(了解) 2.2 Linux 操作系统(了解) 2.3 Linux 操作系统的主要特性(重点) 2.4 Linux 与 Unix 的区别与联系 2.5 GUN 与 GPL(了解&#…...
【蓝桥杯14天冲刺课题单】Day 8
1.题目链接:19714 数字诗意 这道题是一道数学题。 先考虑奇数,已知奇数都可以表示为两个相邻的数字之和,2k1k(k1) ,那么所有的奇数都不会被计入。 那么就需要考虑偶数什么情况需要被统计。根据打表,其实可以发现除了…...
23.6 CharGLM多模态API实战:24k上下文角色一致性优化全解析
CharGLM多模态API实战:24k上下文角色一致性优化全解析 关键词:多模态大模型, CharGLM API 调用, 角色一致性控制, 上下文感知, 对话系统优化 演示 CharGLM 的对话效果 CharGLM 作为支持 24k 上下文窗口的多模态对话模型,在角色扮演场景中展现出强大的交互能力。本节通过实…...
DeepSeek 开源的 3FS 如何?
DeepSeek 3FS(Fire-Flyer File System)是一款由深度求索(DeepSeek)于2025年2月28日开源的高性能并行文件系统,专为人工智能训练和推理任务设计。以下从多个维度详细解析其核心特性、技术架构、应用场景及行业影响&…...
基于 Three.js 实现 3D 数学欧拉角
大家好!我是 [数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | AI 应…...
AI Agent成为行业竞争新焦点:技术革新与商业重构的双重浪潮
近年来,AI Agent(人工智能代理)凭借其自主感知、决策与执行能力,迅速成为全球科技与商业领域的核心竞争赛道。无论是互联网巨头、初创企业,还是传统行业,均在加速布局这一领域,试图在智能化浪潮…...
大数据(4.5)Hive聚合函数深度解析:从基础统计到多维聚合的12个生产级技巧
目录 背景一、Hive聚合函数分类与语法1. 基础聚合函数2. 高级聚合函数 二、6大核心场景与案例场景1:基础统计(SUM/COUNT)场景2:多维聚合(GROUPING SETS)场景3:层次化聚合(ROLLUP&…...
无线通信技术(四):一文读懂短距离无线通信技术
目录 一.技术介绍 1.1 Wi-Fi 1.2 蓝牙 1.3 ZigBee 1.4 IrDA 1.5 NFC 1.6 UWB 二.技术对比 三.未来趋势与挑战 3.1 技术融合 3.2 标准化难题 3.3 新兴应用 短距离无线通信技术是物联网、智能家居、移动支付等领域的核心支撑。这些技术通过不同频段、传输方式和场景…...
SqlServer整库迁移至Oracle
import pandas as pd from sqlalchemy import create_engine, text import cx_Oracle from sqlalchemy.exc import DatabaseError import traceback# SQL Server 配置 sql_server_conn_str mssqlpyodbc://用户名:密码数据库地址:端口/库名?driverODBCDriver11forSQLServer sq…...
通过 Docker Swarm 集群探究 Overlay 网络跨主机通信原理
什么是Overlay网络, 用于解决什么问题 ? Overlay网络通过在现有网络之上创建一个虚拟网络层, 解决不同主机的容器之间相互通信的问题 如果没有Overlay网络,实现跨主机的容器通信通常需要以下方法: 端口映射使用宿主机网络模式 这些方法牺牲了容器网络…...
HarmonyOS NEXT开发进阶(十四):HarmonyOS应用开发者基础认证试题集汇总及答案解析
文章目录 一、前言二、判断题(134道)三、单选题(210道)四、多选题(123道)五、拓展阅读 一、前言 鸿蒙原生技能学习阶段,通过官方认证的资格十分有必要,在项目实战前掌握基础开发理论…...
linux shell 删除空行(remove empty lines)
命令行 grep -v ^$ file sed /^$/d file 或 sed -n /./p file awk /./ {print} file 或 awk {if($0!" ") print} tr -s "n"vim交互 %s/^n//g...
MSVC编译遇到C2059、C2143、C2059、C2365、C2059等错误的解决方案
MSVC编译时,遇到如下错误: c:\program files (x86)\windows kits\10\include\10.0.18362.0\um\msxml.h(1842): error C2059: 语法错误:“常数” [D:\jenkins_home\workspace\xxx.vcxproj] c:\program files (x86)\windows kits\10\include\10.0.18362.0…...
AI重塑云基础设施,亚马逊云科技打造AI定制版IaaS“样板房”
AI正在彻底重塑云基础设施。 IDC最新《2025年IDC MarketScape:全球公有云基础设施即服务(IaaS)报告》显示,AI正在通过多种方式重塑云基础设施,公有云IaaS有望继续保持快速增长,预计2025年全球IaaS的整体规…...
Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务
目录 一.systemctl 管理服务 1.systemctl管理 2.设置服务卡机自启动或开机不启动 二.编译安装配置文件编写使得可以使用systemctl管理 1、编写配置文件原因 2、添加配置文件实现systemctl管理服务 一.systemctl 管理服务 1.systemctl管理 基本格式: systemc…...
【NLP 52、多模态相关知识】
生活应该是美好而温柔的,你也是 —— 25.4.1 一、模态 modalities 常见: 文本、图像、音频、视频、表格数据等 罕见: 3D模型、图数据、气味、神经信号等 二、多模态 1、Input and output are of different modalities (eg: tex…...
【树莓派Pico FreeRTOS】-软件定时器(Software Timers)
软件定时器(Software Timers) 文章目录 软件定时器(Software Timers)1、硬件准备2、软件准备3、FreeRTOS的软件定时器介绍3.1 触发一次定时器(Oneshort Timer)3.2 重复定时器RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的…...
My first day in QT programming
My first QT code this->setWindowTitle("HelloWorld"); //设置窗口名称 this->resize(400, 300); //设置窗口大小 QPushButton* btn new QPushButton; //新建按钮组件 btn->setParent(this); //为按钮指定父对象 …...
MySQL分组的时候遇到ONLY_FULL_GROUP_BY报错和解决
一、ONLY_FULL_GROUP_BY 错误的根本原因 MySQL 5.7 及以上版本默认启用了 sql_modeonly_full_group_by 严格模式。该模式强制要求: SELECT 中的非聚合字段必须出现在 GROUP BY 子句中;所有非聚合字段需通过聚合函数(如 MAX、MIN、SUM&#…...
Element Plus 常用组件
2025/4/1 向全栈工程师迈进!!! 常见Element Plus组件的使用,其文章中“本次我使用到的按钮如下”是我自己做项目时候用到的,记录以加强记忆。阅读时可以跳过。 一、Button按钮 1.1基础按钮 在element plus中提供的按…...
2025年优化算法:真菌生长优化算法(Fungal Growth Optimizer,FGO)
真菌生长优化算法(Fungal Growth Optimizer,FGO) 是发表在中科院一区期刊“ARTIFICIAL INTELLIGENCE REVIEW”(IF:6.7)的2025年3月智能优化算法 01.引言 Fungal Growth Optimizer (FGO) 是一种基于真菌生长行为的元启发式优化算法…...
人工智能之数学基础:矩阵分解之LU分解
本文重点 LU分解是线性代数中一种重要的矩阵分解方法,它将一个方阵分解为一个下三角矩阵(L)和一个上三角矩阵(U)的乘积。这种分解方法在数值线性代数中有着广泛的应用,特别是在求解线性方程组、计算矩阵的行列式、求逆矩阵等方面。 LU分解的基本概念 设A是一个nn的方阵…...
阿里通义千问发布全模态开源大模型Qwen2.5-Omni-7B
Qwen2.5-Omni 是一个端到端的多模态模型,旨在感知多种模态,包括文本、图像、音频和视频,同时以流式方式生成文本和自然语音响应。汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。https:/…...
23 种设计模式中的解释器模式
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 这种模式通常用于需要解释执行某种语言的场景,如正则表达式、SQL解析等。 解释器模式的核心组件。 抽象表达式(Ab…...
AquaMoon and Chess_CodeForces - 1545B
由110变成011,由011变成110,“11”的组合和0可以交换位置 如果是1110 或者是 1110 的情况,红色的“11”与0换位置,变成1011,可以看成蓝色的“11”到了0的后面,蓝色“11”和0的相对位置改变了,而…...
软考-数据库系统工程师第四版pdf
软考-数据库系统工程师第四版pdf git中的文件相对没有那么清楚,网盘的有高清版 github下载 这里我给出仓库地址 链接: https://github.com/yaodada123/ruankao-pdf https://github.com/yaodada123/ruankao-pdf gitee下载 https://gitee.com/yao-hengchao/ruank…...
淘天集团Java开放岗暑期实习笔试(2025年4月2日)
摘要: 除3道笔试题外,还有10道单选、5道不定项、2道Java单选、1道Java不定项选择题,笔试时长100分组,整体难度很大。三道算法题本人全部没有AC(惭愧),事后总结至此。 第一道算法题,…...
关于 数据库 UNION 和 UNION ALL 的使用,以及 分库分表环境下多表数据组合后的排序和分页问题的解决方案 的详细说明,并以表格总结关键内容
以下是关于 数据库 UNION 和 UNION ALL 的使用,以及 分库分表环境下多表数据组合后的排序和分页问题的解决方案 的详细说明,并以表格总结关键内容: 1. UNION 和 UNION ALL 的核心区别 1.1 定义与语法 UNION 功能:合并两个或多个 …...
【接口重复请求】axios通过AbortController解决页面切换过快,接口重复请求问题
处理网络请求时,我们经常会遇到需要中途取消请求的情况,比如用户在两个tab之间反复横跳的场景,如果每个接口都从头请求到结束,那必然会造成很大的服务压力。 AbortController是一个Web API,它提供了一个信号对象&…...
