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

SVR(支持向量机)用法介绍

一、SVR回归介绍

SVR(Support Vector Regression)是支持向量机(SVM)在回归问题中的应用。与SVM分类模型相似,SVR也是一种非概率性算法,通过使用核函数将数据映射到高维空间,并在该空间上寻找最优的超平面与训练数据之间的间隔最大化,得到了回归模型。

与传统回归模型不同,SVR将回归问题转化为寻找一个函数逼近真实函数的过程。在实际应用中,可以使用不同的核函数和超参数来调整模型,以得到更好的拟合效果。

二、SVR回归模型建立

建立SVR回归模型的基本步骤如下:

1.数据预处理
SVR回归模型对数据的要求比较高,需要对数据进行预处理。首先需要对数据进行标准化处理,使其均值为0,方差为1。其次需要将数据进行归一化处理,将数据缩放到[0,1]范围内,以免特征之间的数据差异影响模型训练效果。

X_train = StandardScaler().fit_transform(X_train)
y_train = np.log1p(y_train) # 取对数归一化,提高拟合效果

2.模型训练
可以使用sklearn库中的SVR类来训练模型,其中需要指定核函数和超参数,例如:

clf = SVR(kernel='rbf', C=1, gamma=0.1, epsilon=0.1)
clf.fit(X_train, y_train)

其中,kernel参数是核函数类型,C是正则化参数,gamma是rbf核函数的带宽参数,epsilon是误差容忍度参数。

3.模型评估
可以使用sklearn库中的mean_squared_error函数来计算模型的均方误差(MSE),评估模型的拟合效果,例如:

y_pred = clf.predict(X_test)
mse = mean_squared_error(y_test, y_pred)

可以将mse与均值和标准差进行比较,以评估模型的拟合效果。

三、SVR回归模型调参

在SVR回归中,调参是一个非常重要的过程。常用的调参方法主要有网格搜索法和随机搜索法两种。

1.网格搜索法
网格搜索法通过遍历超参数的所有可能取值,从中选取最佳超参数的组合以获得最优的模型。可以使用sklearn库中的GridSearchCV类来进行网格搜索。

例如,可以定义参数网格,指定不同核函数、C和gamma值,以进行模型训练和评估:

param_grid = {'kernel': ['rbf'], 'C': [0.1, 1, 10], 'gamma': [0.1, 0.01, 0.001]}
grid_search = GridSearchCV(clf, param_grid, cv=5, scoring='neg_mean_squared_error')
grid_search.fit(X_train, y_train)

2.随机搜索法
与网格搜索法不同,随机搜索法是按照概率分布从指定的超参数空间中采样,从而更快地找到最优的超参数组合。可以使用sklearn库中的RandomizedSearchCV类来进行随机搜索。

例如,可以定义超参数分布,指定不同核函数、C和gamma的取值分布,以进行模型训练和评估:

param_distribs = {'kernel': ['rbf'], 'C': reciprocal(20, 200000), 'gamma': expon(scale=1.0)}
rnd_search = RandomizedSearchCV(clf, param_distributions=param_distribs, n_iter=50, cv=5, scoring='neg_mean_squared_error')
rnd_search.fit(X_train, y_train)

四、SVR回归实战应用

SVR回归可以在多个领域中进行应用,例如股票预测、房价预测、人物关系预测等领域。下面以一个简单的房价预测为例,介绍SVR回归的实际应用。

1.数据收集和处理
首先需要收集房屋样本数据,包括房屋面积、房间数、卫生间数、厨房数、地理位置等。对数据进行预处理,包括特征缩放、标准化和分类编码等。

2.模型训练和调参
可以使用sklearn库中的SVR类来训练模型,并使用网格搜索法或随机搜索法调整超参数,以获得最佳的拟合效果。

param_grid = {'kernel': ['rbf'], 'C': [0.1, 1, 10], 'gamma': [0.1, 0.01, 0.001]}
grid_search = GridSearchCV(clf, param_grid, cv=5, scoring='neg_mean_squared_error')
grid_search.fit(X_train, y_train)

3.模型测试和性能评估
使用测试数据对模型进行测试,并使用均方误差(MSE)、R方值等指标来评估模型的性能。可以使用sklearn库中的mean_squared_error和r2_score函数来进行评估:

y_pred = clf.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

五、SVR回归小结

本文从SVR回归的介绍、模型建立、调参和实战应用等方面进行了阐述。SVR回归是一种非常有用的回归模型,在多个领域中具有广泛的应用。

相关文章:

SVR(支持向量机)用法介绍

一、SVR回归介绍 SVR(Support Vector Regression)是支持向量机(SVM)在回归问题中的应用。与SVM分类模型相似,SVR也是一种非概率性算法,通过使用核函数将数据映射到高维空间,并在该空间上寻找最优的超平面与训练数据之间的间隔最大化&#xf…...

是面试官放水,还是公司实在是太缺人?这都没挂,腾讯原来这么容易进···

本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到腾讯可以再给我一次机会,还是挺开心的。 本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学&…...

算法模板(5):数学(1):数学知识(1)

数论 整数的整除性 [x]表示不超过x的最大整数,叫做取整函数或高斯函数。设整数a,b不同时为零,则存在一对整数m,n,使得 ( a , b ) a m b n (a, b) am bn (a,b)ambn。注:a和b的最大公因数会写成 (a, b)…...

电子行业 K 公司对接 Nexperia EDI 项目案例

项目背景 Nexperia 是一家全球领先的半导体制造商,专注于提供高性能、高可靠性和创新性的半导体解决方案。公司成立于2017年,是前飞思卡尔半导体业务的一部分,并在全球范围内拥有多个设计、研发和生产基地。 Nexperia 使用 EDI(…...

chatgpt赋能python:Python如何将英文转化为中文的最佳方法

Python如何将英文转化为中文的最佳方法 介绍 在现代全球化社会中,国与国之间的交流越来越频繁,相应的语言翻译工具的需求也愈发迫切。Python是一种易于学习、快速上手的编程语言,适合初学者和经验丰富的程序员使用,在语言翻译方…...

知道这些英文文档翻译的方式吗

在工作中,大家有没有遇到领导交给你一份外语的文档,要你去观看和理解,但是我们看不太懂或者没啥时间去一点点翻译怎么办呢?我们就需要有工具来将文档翻译,它是一项非常实用和便捷的功能,它可以将文档中的文…...

供应链安全

供应链安全 目录 文章目录 供应链安全目录本节实战可信任软件供应链概述构建镜像Dockerfile文件优化镜像漏洞扫描工具:Trivy检查YAML文件安全配置:kubesec准入控制器: Admission Webhook准入控制器: ImagePolicyWebhook关于我最后…...

华硕天选4原装Windows11系统带ASUSRECOVERY恢复工厂模式安装

华硕工厂恢复系统 ,安装结束后带隐藏分区以及机器所有驱动软件,奥创Myasus Recovery 文件地址https://pan.baidu.com/s/1Pq09oDzmFI6hXVdf8Vqjqw?pwd3fs8 提取码:3fs8 文件格式:5个底包(HDI KIT COM MCAFEE EDN) 1个引导工具TLK 支持ASUSRECOVERY型…...

数据库期末复习(8)并发控制

笔记 数据库DBMS并发控制(1)_旅僧的博客-CSDN博客 数据库 并发控制(2)死锁和意向锁_旅僧的博客-CSDN博客 同一个对象不能既有slock又有xlock; 冲突可串行化和锁 怎么判断是否可以进行冲突可串行化:简便的方法是优先图 只有不同对象和同一对象都是读才不能发生非串行化调…...

一文说透:低代码开发平台和零代码平台区别是什么?

低代码开发平台和零代码平台区别是什么? 一个简单的例子就可以解释清楚。 假设你想入住一套新房,回看住房变迁史: 最原始方式是:自己建造往后一点,交付“毛坯房”:开发商统一建小区,不需要自…...

4.将图神经网络应用于大规模图数据(Cluster-GCN)

到目前为止,我们已经为节点分类任务单独以全批方式训练了图神经网络。特别是,这意味着每个节点的隐藏表示都是并行计算的,并且可以在下一层中重复使用。 然而,一旦我们想在更大的图上操作,由于内存消耗爆炸&#xff0c…...

pymongo更新数据

使用 PyMongo,可以通过以下步骤将查询到的记录进行更新: 下面是一个简单的示例代码片段,展示如何向名为users的集合中的所有文档添加一个新字段age。 import pymongo # 连接 MongoDB client pymongo.MongoClient("mongodb://localh…...

手机软件测试规范(含具体用例)

菜单基本功能测试规范一、短消息功能测试规范测试选项操作方法观察与判断结果创建、编辑短消息并发送书写短消息1、分别使用菜单或快捷方式进入书写短消息是否有异常; 2、输入0个字符,选择、输入号码发送,应成功; 3、输入1个中文…...

mysql having的用法

having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而 having子句在聚合后对组记录进行筛选。我的理解就是真实表中没有此数据,这些数据是通过一些函数生存。 SQ…...

大数据需要学习哪些内容?

大数据技术的体系庞大且复杂,每年都会涌现出大量新的技术,目前大数据行业所涉及到的核心技术主要就是:数据采集、数据存储、数据清洗、数据查询分析和数据可视化。 Python 已成利器 在大数据领域中大放异彩 Python,成为职场人追求…...

【c++】static和const修饰类的成员变量或成员函数

目录 1、静态成员变量 2、静态成员函数 3、常函数 4、常对象 当我们使用c的关键字static修饰类中的成员变量和成员函数的时候,此时的成员变量和成员函数被称为静态成员。 静态成员包含: 静态成员变量静态成员函数 1、静态成员变量 静态成员变量有…...

DVWA-9.Weak Session IDs

大约 了解会话 ID 通常是在登录后以特定用户身份访问站点所需的唯一内容,如果能够计算或轻松猜测该会话 ID,则攻击者将有一种简单的方法来访问用户帐户,而无需暴力破解密码或查找其他漏洞,例如跨站点脚本。 目的 该模块使用四种…...

Bug序列——容器内给/root目录777权限后无法使用ssh免密登录

Linux——创建容器并将本地调试完全的前后端分离项目打包上传docker运行_北岭山脚鼠鼠的博客-CSDN博客 接着上一篇文章结尾出现403错误时通过赋予/root目录以777权限解决403错误。 chmod 777 /root 现在又出现新的问题,远程ssh无法免密登录了,即使通过…...

华为OD机试真题 JavaScript 实现【服务中心选址】【2023Q1 100分 】

一、题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址,使服务中心到所有区域的距离的总和最小。 给你一个数组 positions,其中 positions[i] [le…...

<Linux>《OpenSSH 客户端配置文件ssh_config详解》

《OpenSSH 客户端配置文件ssh_config详解》 1、 ssh获取配置数据顺序2、关键字2.1 Host2.2 Match2.3 AddKeysToAgent2.4 AddressFamily2.5 BatchMode2.6 BindAddress2.7 BindInterface2.8 CanonicalDomains2.9 CanonicalizeFallbackLocal2.10 CanonicalizeHostname2.11 Canonic…...

TI AM64x设备树配置踩坑记:从pinctrl节点到SysConfig工具的避坑指南

TI AM64x设备树配置实战:从寄存器解读到SysConfig高效开发 第一次在AM64x平台上配置外设引脚时,我盯着设备树里那行AM64X_IOPAD(0x011c, PIN_OUTPUT, 7)发呆了半小时——这个神秘的十六进制数到底对应哪个物理引脚?最后的数字7又代表什么&…...

DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型

DeepSeek-R1-Distill-Llama-8B部署全攻略:一条命令搞定推理模型 1. 模型简介 1.1 什么是DeepSeek-R1系列? DeepSeek-R1是专为推理任务优化的语言模型系列,包含两个核心版本: DeepSeek-R1-Zero:完全通过强化学习训练…...

java毕业设计基于springboot铜仁一中学生成绩管理系统

前言 铜仁一中学生成绩管理系统是基于Java和Spring Boot框架开发的,目的是高效管理学生的成绩信息,为学校教学管理提供便利。通过该系统,教师可以方便地录入学生的各科考试成绩,学生和教师能够根据不同条件查询成绩,系…...

CLIP Prompt Tuning实战指南:如何用少量样本优化多模态模型性能

最近在做一个多模态内容理解的项目,用到了CLIP模型。大家都知道CLIP很强大,但真到了要让它适应我们自己的业务数据时,传统全量微调(Full Fine-tuning)那套方法就有点让人头疼了——动辄几十GB的显存需求,还…...

LFM2.5-1.2B-Thinking-GGUF开源镜像详解:llama.cpp免下载零配置部署

LFM2.5-1.2B-Thinking-GGUF开源镜像详解:llama.cpp免下载零配置部署 1. 模型与平台介绍 LFM2.5-1.2B-Thinking-GGUF 是由 Liquid AI 开发的轻量级文本生成模型,专为低资源环境优化设计。该镜像基于 llama.cpp 运行时构建,内置预转换的 GGUF…...

NCMconverter完整指南:3步解锁NCM音乐文件的终极播放方案

NCMconverter完整指南:3步解锁NCM音乐文件的终极播放方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾经遇到过这样的情况:从音乐平台下载了心…...

LangGraph Platform本地部署实战:用Docker和CLI快速搭建你的第一个AI Agent微服务

LangGraph Platform本地部署实战:从开发到生产的AI Agent微服务架构 在AI应用开发领域,快速将原型转化为可部署的服务是每个开发者面临的挑战。LangGraph Platform作为LangChain生态中的工作流编排工具,其本地部署能力为开发者提供了从开发环…...

通义千问3-Reranker-0.6B模型架构深度解析

通义千问3-Reranker-0.6B模型架构深度解析 1. 引言 在当今AI技术飞速发展的时代,文本重排序模型作为信息检索和RAG系统的核心组件,正发挥着越来越重要的作用。通义千问3-Reranker-0.6B作为一款轻量级但性能卓越的重排序模型,以其精巧的架构…...

AI科学发现新范式!NSR综述知识图谱应用全解(非常详细),从入门到精通,收藏这一篇就够了!

在生物、化学、材料等数据密集型科学领域,海量实验数据与文献知识不断积累,但这些知识往往分散在不同数据库与研究论文中,难以被系统整合与有效利用。科学知识图谱(Scientific Knowledge Graphs, SciKGs)通过结构化方式…...

AIGlasses OS Pro 模型优化实战:针对STM32F103C8T6的轻量化模型部署

AIGlasses OS Pro 模型优化实战:针对STM32F103C8T6的轻量化模型部署 最近有不少朋友在问,像AIGlasses OS Pro里那些能看懂世界的视觉模型,能不能塞进一个成本几十块钱、资源极其有限的单片机里跑起来?比如大家手头都有的那块“蓝…...