【机器学习】支持向量回归(SVR)从入门到实战:原理、实现与优化指南
前言
在机器学习的广阔领域中,回归分析作为预测连续型变量的重要手段,被广泛应用于金融预测、工业生产、科学研究等诸多场景。支持向量回归(SVR)作为回归算法家族中的佼佼者,凭借独特的理论优势与强大的实践能力脱颖而出。它基于支持向量机(SVM)的思想,创新性地引入 ε- 不敏感带,有效平衡模型复杂度与泛化能力,尤其在处理非线性问题时展现出卓越性能。
本文将从理论到实践,系统且深入地剖析 SVR。不仅会阐述其核心概念、数学原理,还会通过具体的代码实现,展示从数据预处理、模型训练调参到评估优化的完整流程,助力读者全面掌握这一实用的机器学习算法。
1. SVR基础概念与核心原理
1.1 什么是SVR?
支持向量回归(Support Vector Regression, SVR)是基于支持向量机(SVM)的回归模型,旨在通过寻找最优超平面来预测连续型变量。与传统回归方法不同,SVR允许数据点在ε-不敏感带内存在误差,从而平衡模型复杂度与泛化能力。
1.2 SVR与SVM的区别
- 目标差异:SVM用于分类,而SVR处理回归问题,通过最大化间隔超平面与数据点的距离来拟合连续值。
- 损失函数:SVR采用ε-不敏感损失函数,对误差在±ε范围内的数据点不进行惩罚,仅关注超出该范围的误差。
1.3 数学原理解析
优化目标:
SVR的目标函数为最小化权重向量的范数和松弛变量惩罚项:
min 1 2 ∥ w ∥ 2 + C ∑ i = 1 n ( ξ i + ξ i ∗ ) \min \frac{1}{2}\|w\|^2 + C\sum_{i=1}^n (\xi_i + \xi_i^*) min21∥w∥2+Ci=1∑n(ξi+ξi∗)
约束条件确保预测值与真实值的偏差不超过ε,其中C为惩罚系数,控制模型复杂性与误差容忍度。
目标函数和最小二乘法:
左边是用最小二乘法求得的直线;右边是用目标函数求得的SVR模型,黄色区域是值的是正确的范围,也叫做 ε(误差容忍度),黄色外面的是误差较大的值,也叫做支持向量,决定着SVR模型,所以该模型叫做支持向量回归。
支持向量如下图(与原点连接)。
核函数的作用:
通过核技巧(如RBF、多项式核)将数据映射到高维空间,解决非线性问题。例如,径向基核(RBF)的表达式为:
K ( x i , x j ) = exp ( − γ ∥ x i − x j ∥ 2 ) K(x_i, x_j) = \exp\left(-\gamma \|x_i - x_j\|^2\right) K(xi,xj)=exp(−γ∥xi−xj∥2)
2. SVR建模全流程实现
2.1 数据准备与预处理
- 数据标准化:使用
MinMaxScaler
或StandardScaler
对特征和标签归一化:
from sklearn.preprocessing import MinMaxScaler
mm1 = MinMaxScaler()
X_train_scaled = mm1.fit_transform(X_train)
2.2 模型训练与调参
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
说明:
- 通过random_state参数设置随机种子,确保每次划分结果一致,便于实验复现;
- test_size=0.2表示将20%的数据分配为测试集,80%作为训练集,进行保留独立测试集。
2.3模型训练与调参
from sklearn.svm import SVR
model = SVR(kernel='rbf', C=100, gamma=0.1, epsilon=0.2)
model.fit(X_train_scaled, y_train)
说明:
- kernel=‘rbf’(核函数):指定模型使用的核函数类型,rbf(径向基函数)适用于非线性回归问题
- C=100(正则化参数):控制对误差的惩罚强度。值越大(如C=100),模型对训练误差容忍度越低,可能提升拟合精度但增加过拟合风险
- gamma=0.1(核系数):决定单个样本对模型的影响范围。较小的gamma(如0.1)使核函数更平滑,模型泛化性更好;较大值易导致过拟合
- epsilon=0.2(不敏感带宽度):允许预测值与真实值的绝对误差不超过此阈值时不计算损失。epsilon=0.2表示容忍±0.2的偏差
通常的参数组合:
高C+低gamma:适合复杂非线性数据,但需警惕过拟合
2.3 模型评估与可视化
from sklearn.metrics import mean_squared_error, r2_score
# 将测试集输入模型中进行预测--得到预测值
y_pred = model.predict(X_test_scaled)#将真实值与预测值进行比较
mse = mean_squared_error(y_test, y_pred) #越小越好
r2 = r2_score(y_test, y_pred) #越接近1越好
mean_absolute_error = mean_absolute_error(y_test, y_pred) #越小越好
mean_absolute_percentage_error = mean_absolute_percentage_error(y_test, y_pred) #越小越好
说明:
-
MSE(均方误差)
计算公式: M S E = ( 1 / m ) ∗ Σ ( y i − y ^ i ) 2 MSE = (1/m) * Σ(y_i - ŷ_i)² MSE=(1/m)∗Σ(yi−y^i)2
作用:衡量预测值与真实值的平均平方偏差
特性:
(1)对异常值敏感(平方放大误差)
(2)适用于需严格惩罚大误差的场景(如金融预测) -
R²(决定系数)
计算公式: R 2 = 1 − ( S S r e s / S S t o t ) R² = 1 - (SS_res / SS_tot ) R2=1−(SSres/SStot)
解读:
(1) 值越接近1,模型拟合越好
(2)负数表示模型不如均值预测 -
MAE (平均绝对误差)
计算公式: M A E = ( 1 / m ) ∗ Σ ∣ y i − y ^ i ∣ MAE = (1/m) * Σ|y_i - ŷ_i| MAE=(1/m)∗Σ∣yi−y^i∣
特点:(1)比MSE更鲁棒,不受异常值平方放大影响
(2)与原始数据同量纲,更易解释
适用场景:需要直观理解平均误差时(如房价预测误差±5万元) -
MAPE (平均绝对百分比误差)
计算公式: M A P E = ( 1 / m ) ∗ Σ ∣ ( y i − y ^ i ) / y i ∣ ∗ 100 MAPE = (1/m) * Σ|(y_i - ŷ_i)/y_i| * 100% MAPE=(1/m)∗Σ∣(yi−y^i)/yi∣∗100
特点:
(1)结果以百分比表示,适合跨量纲比较
(3)当y_true有0值时失效
适用场景:需要相对误差评估(如销量预测误差±15%)
指标名称 | 最佳值 | 特点 | 适用场景 |
---|---|---|---|
MSE | 越小越好 | 强调大误差 | 需要严格惩罚大偏差 |
MAE | 越小越好 | 直观易解释 | 业务汇报场景 |
MAPE | 越小越好 | 百分比形式 | 跨量纲比较 |
R² | 1 | 无量纲,解释力 | 学术论文/模型对比 |
Explained Variance | 1 | 不考虑系统偏差 | 高精度建模场景 |
3. 参数优化与高级技巧
3.1 超参数调优方法
网格搜索:
from sklearn.model_selection import GridSearchCV# 网格搜索
param_grid = {'C': [1, 10, 100], # 正则化参数,控制模型对误差的惩罚强度'gamma': [0.01, 0.1, 1] # RBF核函数的系数,控制单个样本的影响范围}grid = GridSearchCV(estimator=SVR(), # 使用的模型(此处为支持向量回归)param_grid=param_grid, # 待搜索的参数组合cv=5 # 5折交叉验证
)grid.fit(X_train, y_train)
说明:
C参数:
值越大(如100)对训练误差惩罚越强,可能提高拟合精度但增加过拟合风险
值越小(如1)允许更多误差,模型更简单但可能欠拟合
gamma参数:
值越大(如1)核函数更"尖锐",模型对局部数据更敏感
值越小(如0.01)核函数更平滑,泛化能力更强
cv=5:将数据分为5份,轮流用4份训练、1份验证,重复5次
工作流程:
(1)自动遍历{‘C’:1, ‘gamma’:0.01}到{‘C’:100, ‘gamma’:1}共9种组合
(2)对每种组合进行5次交叉验证
(3)选择平均验证分数最高的参数组合
3.2 核函数选择策略
# 线性核
SVR(kernel='linear') # 多项式核(需指定阶数degree)
SVR(kernel='poly', degree=3, gamma='auto') # RBF核(默认)
SVR(kernel='rbf')
线性核:适用于线性可分场景
RBF核:默认选择,适合非线性问题
多项式核:需调整阶数参数
4. 总结
这篇博客围绕支持向量回归(SVR)展开,系统介绍了 SVR 的理论基础、建模流程、参数优化等内容,具体总结如下:
-
SVR 基础概念与核心原理
定义:SVR 是基于支持向量机(SVM)的回归模型,通过寻找最优超平面预测连续型变量,允许数据点在 ε- 不敏感带内存在误差,平衡模型复杂度与泛化能力。
与 SVM 的区别:SVM 用于分类,SVR 处理回归;SVR 采用 ε- 不敏感损失函数,仅惩罚超出 ε 范围的误差。
数学原理:目标函数为最小化权重向量范数和松弛变量惩罚项,通过核函数(如 RBF、多项式核)将数据映射到高维空间处理非线性问题。 -
SVR 建模全流程实现
数据准备与预处理:使用MinMaxScaler或StandardScaler对数据进行标准化。
模型训练与调参:通过train_test_split划分数据集,使用SVR类训练模型,需关注核函数、正则化参数C、核系数gamma、不敏感带宽度epsilon等参数对模型的影响。
模型评估与可视化:采用均方误差(MSE)、决定系数(R²)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)等指标评估模型性能,各指标适用于不同场景 。
参数优化与高级技巧 -
超参数调优方法:利用网格搜索(GridSearchCV)遍历参数组合,通过交叉验证选择最优参数,如C和gamma。
核函数选择策略:线性核适用于线性可分数据,RBF 核是处理非线性问题的默认选择,多项式核则需要调整阶数参数 。
相关文章:
【机器学习】支持向量回归(SVR)从入门到实战:原理、实现与优化指南
前言 在机器学习的广阔领域中,回归分析作为预测连续型变量的重要手段,被广泛应用于金融预测、工业生产、科学研究等诸多场景。支持向量回归(SVR)作为回归算法家族中的佼佼者,凭借独特的理论优势与强大的实践能力脱颖而…...
右值引用的学习
传统的C语法中就有引用的语法,而C11中新增了的右值引用语法特性,所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取别名。 左值引用和右值引用 在讲之前,我们先来看一下什么是左值和右值…...
碎片笔记|AI生成图像溯源方法源码复现经验(持续更新中……)
前言:本篇博客分享一些溯源方法的复现经验,希望能帮助到大家🎉。 目录 1. Close-set AttributionRepmixDe-FakeDNA-Net 2. Open-set AttributionPOSE 3. Single-Model AttributionOCC-CLIPLatentTracer 1. Close-set Attribution Repmix 论…...
elementplus el-tree 二次封装支持配置删除后展示展开或折叠编辑复选框懒加载功能
本文介绍了基于 ElementPlus 的 el-tree 组件进行二次封装的 TreeView 组件,使用 Vue3 和 JavaScript 实现。TreeView 组件通过 props 接收树形数据、配置项等,支持懒加载、节点展开/收起、节点点击、删除、编辑等操作。组件内部通过 ref 管理树实例&…...
【C/C++】深度探索c++对象模型_笔记
1. 对象内存布局 (1) 普通类(无虚函数) 成员变量排列:按声明顺序存储,但编译器会根据内存对齐规则插入填充字节(padding)。class Simple {char a; // 1字节(偏移0)int b; …...
Spring MVC数据绑定和响应 你了解多少?
数据绑定的概念 在程序运行时,Spring MVC接收到客户端的请求后,会根据客户端请求的参数和请求头等数据信息,将参数以特定的方式转换并绑定到处理器的形参中。Spring MVC中将请求消息数据与处理器的形参建立连接的过程就是Spring MVC的数据绑…...
外贸礼品禁忌
一、亚洲 1.印度 牛是神圣动物,别送牛皮制品。另外,左手不洁,送礼得用右手或双手。 2.日本 “梳” 和 “苦” 谐音,不送梳子。日本男性不咋佩戴首饰,除结婚戒指。礼物得装盒、纸包、绳饰,白色包装得有…...
【MySQL 基础篇】深入解析MySQL逻辑架构与查询执行流程
1 MySQL逻辑架构概述 MySQL 的逻辑架构主要分为 Server 层和存储引擎层两部分。 Server 层:包含连接器、查询缓存、分析器、优化器、执行器等组件。同时,所有的内置函数(如日期、时间、数学和加密函数等)也在这一层实现。此外&a…...
基于C#实现中央定位服务器的 P2P 网络聊天系统
基于中央定位服务器的 P2P 网络聊天系统 1 需求分析与实现功能 本次作业旨在实现一个基于中央定位服务器的 P2P 网络聊天系统,也即通过中央定位服务器实现登入,登出与好友的 IP 查询等操作,在好友间的通信使用 P2P 来完成,具体见…...
【C++】map和set的模拟实现
1.底层红黑树节点的定义 enum Colur {RED,BLACK }; template<class T> struct RBTreeNode {RBTreeNode<T>* _left;RBTreeNode<T>* _right;RBTreeNode<T>* _parent;T _data;Colur _col;RBTreeNode(const T& data):_left(nullptr), _right(nullptr…...
数据结构·字典树
字典树trie 顾名思义,在一个字符串的集合里查询某个字符串是否存在树形结构。 树存储方式上用的是结构体数组,类似满二叉树的形式。 模板 定义结构体和trie 结构体必须的内容:当前结点的字符,孩子数组可选:end用于查…...
centos服务器,疑似感染phishing家族钓鱼软件的检查
如果怀疑 CentOS 服务器感染了 Phishing 家族钓鱼软件,需要立即进行全面检查并采取相应措施。以下是详细的检查和处理步骤: 1. 立即隔离服务器 如果可能,将服务器从网络中隔离,以防止进一步传播或数据泄露。如果无法完全隔离&…...
(C语言)超市管理系统(测试2版)(指针)(数据结构)(清屏操作)
目录 前言: 源代码: product.h product.c fileio.h fileio.c main.c 代码解析: 一、程序结构概述 二、product.c 函数详解 1. 初始化商品列表 Init_products 2. 添加商品 add_product 3. 显示商品 display_products 4. 修改商品 mo…...
可变形卷积简介(Deformable Convolution)
1. 核心原理 可变形卷积通过动态调整卷积核的采样位置,增强模型对几何形变(如旋转、缩放)的适应能力。其核心改进包括: 偏移量(Offset):为卷积核的每个采样点学习 x / y x/y x/y方向的偏移量 …...
02_Servlet
目录 一、简介二、Servlet入门案例2.1、编写Servlet2.2、配置Servlet2.3、访问Servlet2.4、常见错误 三、Servlet详解3.1、实现Servlet的三种方式3.1.1、实现Servlet接口3.1.2、继承GenericServlet类3.1.3、继承HttpServlet类 3.2、配置Servlet的两种方式3.2.1、web.xml方式3.2…...
stm32之FLASH
目录 1.简介2.闪存模块组织3.基本结构3.1 FPEC3.2 程序存储器3.2.1 标准编程3.2.2 页擦除3.2.3 全擦除 3.3 选项字节3.3.1 编程3.3.2 擦除 4.器件电子签名5.实验-读取内部FLASH 1.简介 STM32F1系列的FLASH内存是一个非常重要的存储区域,它主要由三个部分组成&#…...
第3.4节 调用链路分析服务开发
3.4.1 什么是Code Call Graph(CCG) Code Call Graph(CCG)即业务代码中的调用关系图,是通过静态分析手段分析并构建出的一种描述代码间关系的图。根据精度不同,一般分为类级别、方法级别、控制流级别&#x…...
超详细Docker教程
前言:大家在在Linux上部署mysql及其他软件时,大家想一想自己最大的感受是什么? 我相信,除了个别天赋异禀的人以外,大多数人都会有相同的感受,那就是麻烦。核心体现在三点: 命令太多了ÿ…...
探索AI新领域:生成式人工智能认证(GAI认证)助力职场发展
在数字化时代的大潮中,人工智能(AI)技术以其强大的影响力和广泛的应用前景,正逐步重塑我们的生活与工作方式。随着生成式AI技术的崛起,掌握这一前沿技能已成为职场竞争中的关键优势。那么,如何通过系统的学…...
sql sql复习
虽然之前学习过sql,但由于重在赶学习进度,没有学扎实,导致自己刷题的时候有的地方还是模模糊糊,现在主要是复习,补一补知识点。 今日靶场: NSSCTF 云曦历年考核题 在做题之前先回顾一下sql注入的原理&…...
初探 Skynet:轻量级分布式游戏服务器框架实战
在游戏服务器开发领域,高效、稳定且易于扩展的框架一直是开发者追求的目标。Skynet 作为一款轻量级、高性能的分布式游戏服务器框架,凭借其独特的设计理念和强大的功能,赢得了众多开发者的青睐 一.Skynet底层架构支持 1.Actor erlang 从语言…...
libarchive.so.19丢失
文章目录 绝对路径可以启动,相对路径不可以以绝对路径启动conda环境,运行python3.8(成功) 报错 Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19: cannot open shared object file: No such file or directory) sudo a…...
vue-ganttastic甘特图label标签横向滚动固定方法
这个甘特图之前插件里,没有找到能固定label标签在屏幕上的办法,用css各种办法都没有实现,所以我我直接手写定位,用js监听滚动条滚动的距离,然后同步移动甘特图label标签,造成一种定位的错觉,以下…...
自动化 NuGet 包打包与上传:完整批处理脚本详解(含 SVN 支持)
在大型项目中,我们常常需要定期打包多个 .csproj 项目为 NuGet 包,并上传到私有 NuGet 服务。这篇文章分享一份实战脚本,支持以下自动化流程: 自动读取、更新 .csproj 文件中的 Version、PackageOutputPath 等节点; 自…...
Go语言空白导入的作用与用途
在 Go 语言中,导入包时前面加下划线 _ 是一种特殊的导入方式,称为 “空白导入” 或 “匿名导入”。 作用: 执行包的初始化(init 函数)但不直接使用包中的标识符 import _ "go.uber.org/automaxprocs" 表示你…...
实验六:按键模拟控制实现
FPGA序列检测器实验(远程实验系统) 文章目录 FPGA序列检测器实验(远程实验系统)一、数字电路基础知识1. 时钟与同步2. 按键消抖原理代码讲解:分频与消抖3. 有限状态机(FSM)设计代码讲解:状态机编码与转移4. 边沿检测与信号同步5. 模块化设计二、实验数字电路整体思想三…...
【愚公系列】《Manus极简入门》038-数字孪生设计师:“虚实映射师”
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! …...
Linux重定向与缓冲区
目录 文件描述符的分配规则 重定向 使用 dup2 系统调用 FILE 文件描述符的分配规则 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>int main() {int fd open("myfile", O_RDONLY);if(fd < 0){per…...
经典还原反应解析:Wolff-Kishner机制与黄鸣龙改进法
在有机化学发展史上记载的万余种经典反应中,当论及以科学家命名的标志性转化反应时,Wolff-Kishner-黄鸣龙还原反应必然占据重要地位。在大学《有机化学》课程中,学习还原反应时肯定会提到Wolff-Kishner-黄鸣龙还原反应,这是第一个…...
DataX从Mysql导数据到Hive分区表案例
0、下载DataX并解压到对应目录 DataX安装包,开箱即用,无需配置。 https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz 相关参考文档 https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md 1、Hive分区…...
npm 报错 gyp verb `which` failed Error: not found: python2 解决方案
一、背景 npm 安装依赖报如下错: gyp verb check python checking for Python executable "python2" in the PATH gyp verb which failed Error: not found: python2 一眼看过去都觉得是Python环境问题,其实并不是你python环境问题…...
安装npm:npm未随Node.js一起安装
文章目录 上传至linux服务器/usr/local/目录下 如果npm没有随Node.js一起安装,你可以尝试单独下载并安装npm。但通常情况下,这是不必要的,因为npm是Node.js的一部分。如果确实需要单独安装npm,你可以参考npm的官方安装指南。 npm…...
C++23 ranges::to:范围转换函数 (P1206R7)
文章目录 引言C23 Ranges 概述ranges::to 的定义与功能定义功能 使用场景范围转换为容器简化字符串解析映射转换为向量 ranges::to 的优势代码简洁性提高开发效率与C23的stl容器的范围版本构造函数配合良好 模板参数约束的思考总结 引言 在C的发展历程中,每一个新版…...
openfeign 拦截器实现微服务上下文打通
目录 openfeign 拦截器实现微服务上下文打通需求分析:代码实现:subject 服务:controllerFeign 拦截器:将 Feign 拦截器注册为一个Bean: auth 鉴权服务:全局配置类:登录拦截器:上下文…...
【MySQL】变更缓冲区:作用、主要配置以及如何查看
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
TCP/IP-——C++编程详解
1. TCP/IP 编程基本概念 TCP(传输控制协议):面向连接、可靠的传输层协议,保证数据顺序和完整性。IP(网际协议):负责将数据包路由到目标地址。Socket(套接字):…...
微服务如何实现服务的高可用
背景:微服务分层需要考虑高可用和高并发的问题 微服务如何实现服务的高可用 先说结论:微服务实现高可用主要通过集群冗余故障自动转移来实现的具体可以从底下几种方案来实现。 “端”到“反向代理”的高可用“反向代理”到“站点应用”的高可用“站点…...
微服务调试问题总结
本地环境调试。 启动本地微服务,使用公共nacos配置。利用如apifox进行本地代码调试解决调试问题。除必要的业务微服务依赖包需要下载到本地。使用mvn clean install -DskipTests进行安装启动前选择好profile环境进行启动,启动前记得mvn clean清理项目。…...
egpo进行train_egpo训练时,keyvalueError:“replay_sequence_length“
def execution_plan(workers: WorkerSet, config: TrainerConfigDict) -> LocalIterator[dict]: if config.get(“prioritized_replay”): prio_args { “prioritized_replay_alpha”: config[“prioritized_replay_alpha”], “prioritized_replay_beta”: config[“prior…...
Hadoop的组成
(一)Hadoop的组成 对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。 在Hadoop3.X中,hadoop一共有三个组成部分&#…...
Android锁
引言 🔒 在 Android 应用的开发过程中,随着业务需求的复杂度不断提升,多线程并发场景层出不穷。为了保证数据一致性与线程安全,锁(Lock)成为了不可或缺的工具。本篇博客将深入剖析 Android 中常用的锁机制…...
XD08M3232接近感应单片机的接近感应模块的工作原理
XD08M3232接近感应单片机的接近感应模块基于电容式感应原理,通过硬件电路与软件配置实现对物体接近的检测。以下是其工作原理的详细解析: 一、硬件架构与核心组件 1. 核心电路组成 接近感应模块由三大关键部分构成: 两个轨到轨运算放大器&…...
编程日志5.6
串的习题 1.2236. 判断根结点是否等于子结点之和 - 力扣(LeetCode) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * Tr…...
量子计算实用化突破:从云端平台到国际竞合,开启算力革命新纪元
在硅谷某生物医药实验室,研究员艾米丽正盯着量子计算模拟界面露出微笑 —— 搭载中电信 "天衍" 量子计算云平台的 880 比特超导量子处理器,用 17 分钟完成了传统超算需 3 个月才能跑完的新型抗生素分子键合模拟。这个场景标志着量子计算正从 &…...
Made with Unity | 拓展“双点”宇宙版图
双点工作室(Two Point Studios)团队成立于2016年,其创立初衷是打造一个完美的游戏IP:构建一个既能持续吸引玩家,又具备足够扩展空间,同时经得起时间考验的虚拟世界。2018年,团队以《双点医院&am…...
3D 数据可视化系统是什么?具体应用在哪方面?
目录 一、3D 数据可视化系统的定义与内涵 (一)基本概念 (二)核心要素 二、3D 数据可视化系统的优势 三、3D 数据可视化系统的应用领域 (一)城市规划与管理 (二)工业制造 &am…...
2025-5-14渗透测试:利用Printer Bug ,NTLMv2 Hash Relay(中继攻击),CVE-2019-1040漏洞复现
python3 printerbug.py test.com/test192.168.186.131 192.168.186.134 sudo python2 MultiRelay.py -t 192.168.186.132 -u ALLPrinter Bug 原理 PrinterBug(CVE-2018-0886)是Windows打印系统服务(Spooler)的一个设计缺陷&…...
OracleLinux7.9-ssh问题
有套rac环境,db1主机无法ssh db1和db1-priv,可以ssh登录 db2和db2-priv [rootdb1 ~]# ssh db1 ^C [rootdb1 ~]# ssh db2 Last login: Wed May 14 18:25:19 2025 from db2 [rootdb2 ~]# ssh db2 Last login: Wed May 14 18:25:35 2025 from db1 [rootdb2…...
《AI大模型应知应会100篇》第64篇:构建你的第一个大模型 Chatbot
第64篇:构建你的第一个大模型 Chatbot 手把手教你从零开始搭建一个基于大模型的聊天机器人 摘要 你是否想过,自己也能构建一个像 ChatGPT 一样能对话、能思考的聊天机器人(Chatbot)?别担心,这并不需要你是…...
鸿蒙OSUniApp 实现精美的用户登录和注册页面#三方框架 #Uniapp
UniApp 实现精美的用户登录和注册页面 前言 在开发鸿蒙APP时,登录注册页面作为用户与应用交互的第一道门槛,其体验与质量往往决定了用户的第一印象。去年我接手了一个电商小程序项目,产品经理特别强调要做一个既美观又实用的登录注册页面。…...