python梯度下降法求解三元线性回归系数,并绘制结果
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
X1 = 2 * np.random.rand(100, 1)
X2 = 3 * np.random.rand(100, 1)
X3 = 4 * np.random.rand(100, 1)
y = 4 + 3 * X1 + 5 * X2 + 2 * X3 + np.random.randn(100, 1)
# 合并特征
X_b = np.hstack([np.ones((100, 1)), X1, X2, X3])
# 梯度下降求解多元线性回归系数
eta = 0.1 # 学习率
n_iterations = 1000 # 迭代次数
m = 100 # 样本数
theta = np.random.randn(4, 1) # 初始化参数
for iteration in range(n_iterations):
gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)
theta -= eta * gradients
# 打印得到的参数
print("得到的参数为:", theta)
# 绘制结果
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制原始数据点
ax.scatter(X1, X2, y, c='b', marker='o')
# 生成新数据点
X1_new = np.linspace(0, 2, 100)
X2_new = np.linspace(0, 3, 100)
X1_new, X2_new = np.meshgrid(X1_new, X2_new)
X3_new = (-theta[0] - theta[1] * X1_new - theta[2] * X2_new) / theta[3]
# 绘制平面
ax.plot_surface(X1_new, X2_new, X3_new, alpha=0.5)
ax.set_xlabel('X1')
ax.set_ylabel('X2')
ax.set_zlabel('y')
plt.show()
相关文章:
python梯度下降法求解三元线性回归系数,并绘制结果
import numpy as np import matplotlib.pyplot as plt # 生成随机数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) X2 3 * np.random.rand(100, 1) X3 4 * np.random.rand(100, 1) y 4 3 * X1 5 * X2 2 * X3 np.random.randn(100, 1) # 合并特征 X_b np.hsta…...
Linux基础(五):常用基本命令
从本节开始,我们正式进入Linux的学习,通过前面的了解,我们知道我们要以命令的形式使用操作系统(使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。),因此,我们是很有…...
原始字面常量(C++11)
原始字面常量(C11) 文章目录 原始字面常量(C11)前言一、原始字面量二、代码示例总结 前言 字面量一般是指数值(12、454等)和字符串(“Hw”、“h\t”),但是有时候我们想表…...
C++|设计模式(〇)|设计模式的六大原则
这里文章只做简要描述,作为扫盲 在软件开发过程中,遵循一定的设计原则可以帮助开发者创建更加灵活、可维护和可扩展的系统。设计模式的六大原则是面向对象设计的核心理念,本文将详细介绍这些原则,并结合实例说明它们的重要性和应用…...
【排序算法】——归并排序(递归与非递归)含动图
制作不易,三连支持一下吧!!! 文章目录 前言一.归并排序递归方法实现二.归并排序非递归方法实现 前言 这篇博客我们将介绍归并排序的原理和实现过程。 一、归并排序递归方法实现 基本思想: 归并排序(MERGE-…...
Mysql自增id、uuid、雪花算法id的比较
MySQL自增id: 优点: 1.简单易用 MySQL自增id 由数据库自动生成。 2.效率高 自增id是按顺序递增的,可以提高插入和查询的效率。 3.索引效率高 自增id可以作为主键或索引列,提高查询效率。 缺点: 1.不适用于分布式系统 在分布式…...
【会议征稿,IEEE出版】第九届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2024,6月28-30)
第九届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2024)将于2024年6月28-30日在中国绵阳举行。 ISCTT 2024将围绕 “信息科学”、"计算机技术”、“交通运输” 等最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的专…...
二十八篇:嵌入式系统实战指南:案例研究与未来挑战
嵌入式系统实战指南:案例研究与未来挑战 1. 引言 1.1 嵌入式系统的重要性及其应用广度 在当今快速发展的技术领域中,嵌入式系统扮演着至关重要的角色。这些系统是专门设计的计算机硬件和软件的组合,旨在执行特定任务,如控制、监…...
探索编程乐趣:绘制螺旋图的奇幻之旅
新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:编程的魔法世界 二、绘制螺旋图的准备工作 三、代码实战:…...
C# 语法糖
语法糖 var关键字(隐式类型变量):自动属性:简化的事件访问器:Lambda表达式和匿名方法:扩展方法:LINQ查询:异步编程(async和await):嵌套匿名类型&a…...
ubuntu 安装VMtool 实现复制粘贴
如果只是安装一个根本没有用,而是两个命令都要安装 sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop引用博客...
智慧仓储新动力:EasyCVR+AI视频智能监管系统方案助力仓储安全高效管理
一、背景 随着物流行业的快速发展和智能化水平的提升,智慧仓储视频智能监管系统已成为现代仓储管理的重要组成部分。本系统通过综合运用物联网、视频分析、边缘计算等技术手段,实现对仓储环境的全面监控、智能分析和高效管理。 TSINGSEE青犀视频汇聚Ea…...
gcc源码分析(AST抽象语法树)
文章目录 三、AST相关1、AST(抽象语法树)1.1 树结点的声明1.2 树结点的结构1.2.1 tree_node联合体1.2.2 tree_base结构体1.2.3 tree_common结构体1.2.4 常量结构体1.2.5 **标识符节点**2、符号绑定,作用域与block树节点2.1 lang_identifier结构体2.2 c_binding结构体2.3 scop…...
ES基础概念
本文不介绍如何使用ES(使用ES见:) 1.ES生态圈 ES: Logstash:数据处理服务程序,解析转换加工数据; Kibana:数据展示、集群管理,数据可视化、ES管理与监控、报表等…...
断更是我的错
打算在暑假每天两个文章,大概是6月20多号开始吧。...
红队攻防渗透技术实战流程:云安全之云原生安全:云堡垒机
红队云攻防实战 1. 云原生安全-防护设备-云堡垒机1. 云原生安全-防护设备-云堡垒机 堡垒机攻防:(意义) https://mp.weixin.qq.com/s/-WcgyVoTCZuPamVtI5MrJw 堡垒机漏洞:(已知)https://avd.aliyun.com/search?q=%E5%A0%A1%E5%9E%92%E6%9C%BA 云堡垒机:(云攻防) http…...
Down with typename
1. 隐式类型名的详情 C20 之前,typename 在一些其他情况下是不必要的: • 指定继承类的基类型时 • 在构造函数中将初始值传递给基类时 • 在类声明中使用类型成员时 #include <iostream> struct Impl {Impl(){ std::cout << "Impl ctor" &…...
CSS3背景与渐变
背景与渐变 background-size background-size 属性用于设置背景图像的尺寸。您可以指定绝对或相对单位,或者使用关键词来控制背景图像在元素背景区域中的大小。 .element {background-size: [length | percentage | cover | contain] | [length | percentage] [length | per…...
线性表——链式存储
单链表(有头结点) #include<stdio.h> #include<stdlib.h> //定义 typedef struct LNode{int data; //数据域 struct LNode *next; //指针域指向下一个结点,所以是 struct LNode类型 }LNode,*LinkList; //…...
VUE3和VUE2
VUE3和VUE2 上一篇文章中,我们对VUE3进行了一个初步的认识了解,本篇文章我们来进一步学习一下,顺便看一下VUE2的写法VUE3是否能做到兼容😀。 一、新建组件 我们在components中新建一个组件,名称为Peron,…...
VSCode远程开发遇难题?手把手教你恢复Copilot里的Claude模型(附代理设置详解)
VSCode远程开发中Copilot集成Claude模型的深度配置指南 远程开发环境下的AI辅助编程已经成为现代开发者工作流中不可或缺的一环。当VSCode的Copilot插件突然无法显示Claude模型选项时,这不仅打断了工作节奏,更可能影响开发效率。本文将系统性地剖析问题根…...
AI原生团队启动失败率高达68%?关键不在技术,在于你漏掉了这5个组织级“认知锚点”
第一章:AI原生软件研发团队组建与人才培养 2026奇点智能技术大会(https://ml-summit.org) 构建AI原生软件研发团队,核心在于打破传统“AI支持开发”范式,转向“以模型为一等公民”的工程文化。这意味着团队成员不仅需掌握机器学习原理与大模…...
避坑指南:JavaCV中FFmpegFrameGrabber处理音频流时,采样格式转换的那些‘坑’
JavaCV音频处理实战:FFmpegFrameGrabber采样格式转换的深度解析 1. 音频采样格式的底层逻辑与核心挑战 在多媒体处理领域,音频采样格式的转换是一个看似简单实则暗藏玄机的技术点。当我们使用JavaCV的FFmpegFrameGrabber处理音频流时,经常会遇…...
免费音频转换器fre:ac:新手也能轻松掌握的完整指南
免费音频转换器fre:ac:新手也能轻松掌握的完整指南 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 你是否曾因音频格式不兼容而烦恼?或是需要批量转换大量音乐文件却不知从何下手…...
【Prometheus】实战指南:使用basic_auth加固监控数据访问
1. 为什么需要为Prometheus添加basic_auth认证 最近几年,随着企业数字化转型的加速,监控系统已经成为IT基础设施中不可或缺的一部分。Prometheus作为云原生时代最流行的监控解决方案之一,被广泛应用于各类生产环境。但很多团队在部署Promethe…...
Ansys静力学分析中EPTO数据缺失与PRNSOL命令失效的解决方案
1. 遇到EPTO数据不可用和PRNSOL命令失效怎么办? 最近在用Ansys做静力学分析时,遇到了一个让人头疼的问题:当我想要查看应变结果列表时,系统提示"The requested EPTO data is not available. The PRNSOL command is ignored&q…...
2026年4月OpenClaw如何集成?云端4分钟保姆级方法+大模型APIKey、Skill集成
OpenClaw是什么?OpenClaw能干什么?OpenClaw怎么部署使用?本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环境配置、服务启动、…...
Matlab代码实现综合能源系统(IES)的优化调度:风力、光伏、燃气等设备的最小成本方案
Matlab代码:综合能源系统(IES)的优化调度 设备:风力、光伏、燃气轮机、燃气内燃机、燃气锅炉、余热回收系统、吸收式制冷机、电制冷机、蓄电池等设备。 负荷类型:冷、热、电 优化目标:IES(综合能源系统)的运行成本最小…...
NEURAL MASK保姆级教学:处理失败图像的5种常见原因与修复技巧
NEURAL MASK保姆级教学:处理失败图像的5种常见原因与修复技巧 1. 引言:为什么你的抠图效果不理想? 在使用NEURAL MASK(幻镜)进行图像处理时,很多用户都会遇到一个共同的问题:为什么有时候处理…...
OBS-VirtualCam终极指南:3大核心功能实现专业虚拟摄像头方案
OBS-VirtualCam终极指南:3大核心功能实现专业虚拟摄像头方案 【免费下载链接】obs-virtual-cam 项目地址: https://gitcode.com/gh_mirrors/obs/obs-virtual-cam OBS-VirtualCam是一款专为OBS Studio设计的开源插件扩展,提供虚拟摄像头和视频输出…...
