24/8/7 算法笔记 支持向量机回归问题天猫双十一

import numpy as np
from sklearn.svm import SVR
import matplotlib.pyplot as plt
X = np.linspace(0,2*np.pi,50).reshape(-1,1)
y = np.sin(X)
plt.scatter(X,y)

建模

线性核函数
svr = SVR(kernel = 'linear')
svr.fit(X,y.ravel())#变成一维y_ = svr.predict(X)
plt.scatter(X,y)plt.plot(X,y_,color='red')

poly多项式核函数
svr = SVR(kernel = 'poly',degree=2)
svr.fit(X,y.ravel())#变成一维y_ = svr.predict(X)
plt.scatter(X,y)plt.plot(X,y_,color='red')

rbf高斯核函数
svr = SVR(kernel = 'rbf')
svr.fit(X,y.ravel())y_ = svr.predict(X)
plt.scatter(X,y)plt.plot(X,y_,color='red')

天猫双十一销量数据


X= np.arange(2009,2020) - 2008
​
y = np.array([0.5,9.36,52,191,350,571,912,1207,1632,2135,2684])
​
plt.scatter(X,y,color = 'red')

标准化

X_test=np.linspace(2009,2019,100).reshape(-1,1)-2008
svr = SVR(kernel = 'linear')
svr.fit(X.reshape(-1,1),y)y_= svr.predict(X_test)plt.scatter(X,y,color = 'red')plt.plot(X_test.ravel(),y_,color='green')

svr = SVR(kernel = 'rbf')
svr.fit(X.reshape(-1,1),y)y_= svr.predict(X_test)plt.scatter(X,y,color = 'red')plt.plot(X_test.ravel(),y_,color='green')

svr = SVR(kernel = 'poly',coef0=200)#多项式
svr.fit(X.reshape(-1,1),y)y_= svr.predict(X_test)plt.scatter(X,y,color = 'red')plt.plot(X_test.ravel(),y_,color='green')

可以看见poly核函数最好

在机器学习中,特别是在支持向量机(SVM)算法中,核函数是一种将数据从原始特征空间映射到更高维特征空间的数学函数,以便在新的空间中更容易地进行线性分割。以下是三种常见核函数的区别:

  1. 线性核函数(Linear Kernel):

    • 公式:K(x,y)=x⋅yK(x,y)=x⋅y
    • 描述:线性核函数实际上不进行映射,它直接在原始特征空间中计算两个点的点积。这意味着它不会增加特征的维度。
    • 适用情况:当数据已经是线性可分的,或者特征空间的维度不是问题时,线性核函数是一个很好的选择。
  2. 多项式核函数(Polynomial Kernel,也称为Poly Kernel):

    • 公式:K(x,y)=(γ⋅x⋅y+r)dK(x,y)=(γ⋅x⋅y+r)d
    • 参数:γγ 是核函数的系数,rr 是偏置项,dd 是多项式的度数。
    • 描述:多项式核函数将数据映射到一个多项式特征空间。通过调整度数 dd,可以控制映射后的维度和复杂性。
    • 适用情况:当数据具有非线性特征,需要通过增加特征的组合来提高模型的表达能力时。
  3. 径向基函数(Radial Basis Function,RBF或Gaussian Kernel):

    • 公式:K(x,y)=exp⁡(−γ∥x−y∥2)K(x,y)=exp(−γ∥x−y∥2)
    • 参数:γγ 是核函数的系数,控制了高斯函数的宽度。
    • 描述:RBF核函数通过计算两个点之间的欧几里得距离的平方,并将其作为指数函数的输入,从而实现非线性映射。这种核函数可以捕捉数据中的复杂模式。
    • 适用情况:RBF核是SVM中最常用的核函数之一,适用于大多数非线性问题,特别是当数据的分布不是线性的,或者需要捕捉更复杂的边界时。

每种核函数都有其特点和适用场景。选择哪种核函数通常取决于数据的特性和问题的需求。在实践中,可能需要通过交叉验证等方法来确定最佳的核函数和参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394387.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云播放器 web端 问题解决总结

1:ios设备长按视频,会出现系统的放大镜效果: 可以只监听touchstart事件即可 var playerContainer document.getElementById(this.playerId); playerContainer.addEventListener(touchstart, preventZoom, { passive: false }); playerConta…

unity 创建项目报错feature has expired (H0041),sentinel key not found (H0007)

两个报错同一种处理方式。 1、删除以下路径所有文件:C:\ProgramData\SafeNet Sentinel(注意:ProgramData为隐藏文件) 2、打开Cmd(WinR键,输入cmd回车),进入Unity安装所在盘符&#…

为啥https比http慢

Https有ssl的握手 HTTP没有 HTTPS TCP 和HTTP 的TCP 时间差不是很大 HTTPS请求中,ssl所占的时间比例是请求时间总和93.37%, HTTPS请求中,ssl的请求会是tcp请求的14倍,而HTTP中没有这个问题 建议:对安全要求不是很高的,不要使用https请求 图例

自定义DIY线上预约小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 随着移动互联网的快速发展,人们越来越习惯于通过手机进行各种活动的预约。传统的预约方式往往存在着信息不透明、沟通不畅、效率低下等问题,无法满足用户日益增长的需求。同时,对于企业和商家来说,建立一个专属的线上预…

Isaac Lab 安装 (ubuntu22.04环境)

Windows下的安装见这篇博客: Isaac Lab 安装与初体验 (windows环境)-CSDN博客 ubuntu22.04下的安装与windows下十分类似,还是参考官方的,Installation using Isaac Sim Binaries Installation using Isaac Sim Bina…

Linux驱动开发—ioctl命令构成,设备驱动基础使用ioctl详解

文章目录 1.什么是ioctl?示例 2.ioctl 与 write,read 有什么区别?复杂的设备控制多种数据类型和操作简化应用层代码区分数据和控制 3.ioctl命令的构成宏定义的组成部分具体的宏定义举个栗子 4.ioctl命令的分解宏定义举个栗子 5.ioctl 设备使用应用程序构…

【游戏引擎之路】登神长阶(九)——《3D游戏编程大师技巧》:我想成为游戏之神!

5月20日-6月4日:攻克2D物理引擎。 6月4日-6月13日:攻克《3D数学基础》。 6月13日-6月20日:攻克《3D图形教程》。 6月21日-6月22日:攻克《Raycasting游戏教程》。 6月23日-7月1日:攻克《Windows游戏编程大师技巧》。 7月…

数据库篇--八股文学习第十六天| MySQL的执行引擎有哪些?;MySQL为什么使用B+树来作索引;说一下索引失效的场景?

1、MySQL的执行引擎有哪些? 答: MySQL的执行引擎主要负责查询的执行和数据的存储, 其执行引擎主要有MyISAM、InnoDB、Memery 等。 InnoDB引擎提供了对事务ACID的支持,还提供了行级锁和外键的约束,是目前MySQL的默认存储引擎&…

Codeforces Round 963 (Div. 2)

A题:Question Marks 题目: Tim正在做一个由 4n 个问题组成的测试,每个问题都有 4 个选项:“A”、“B”、“C”和“D”。对于每个选项,有 n 个正确答案对应于该选项,这意味着有 n 个问题的答案为“A”。 n…

个人知识库与RAG的技术

构建个人知识库时,采用RAG结合LangChain的方法极为有效。RAG,即检索增强生成技术,是一种前沿的自然语言处理手段,它融合了信息检索的精确匹配与语言模型的高效文本生成,为处理自然语言相关任务提供了一种既灵活又准确的…

未来已来:人工智能如何重塑Facebook的用户体验?

在数字化时代的浪潮中,人工智能(AI)正成为推动技术进步和用户体验优化的核心力量。Facebook(现Meta Platforms)作为全球领先的社交媒体平台,正在充分利用人工智能技术,以重塑用户体验&#xff0…

Spring Boot 3.0 热部署

idea开发环境下的spring boot 3.0热部署启用非常简单,并没有网上教程讲的需要对idea做一些设置。 只需引入依赖: developmentOnly org.springframework.boot:spring-boot-devtools其他不需要做任何设置。 服务启动中,改了代码或配置后&…

振动分析-18-基于振动分析进行故障诊断的思路和步骤

参考树立正确的振动诊断思路 参考振动分析相关知识的储备及振动分析仪的局限性 参考如何进行振动分析诊断(译文) 1 正确的故障诊断意识 我们通常在学习班听到的是大学教授以及专家讲解的故障诊断的基础理论,对于刚接触这个专业的人来说,微分方程和复杂的矩阵却有点让人忘…

JeecgBoot低代码平台简单记录

BasicModal弹窗 Usage 由于弹窗内代码一般作为单文件组件存在,也推荐这样做,所以示例都为单文件组件形式 注意v-bind"$attrs"记得写,用于将弹窗组件的attribute传入BasicModal组件 attribute:是属性的意思,…

Spring全家桶(三):Spring AOP

Spring AOP面向切面编程 1.面向切面编程思维(AOP) 1.1.面向切面编程思想AOP AOP:Aspect Oriented Programming面向切面编程 AOP可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。O…

一键生成专业PPT:2024年AI技术在PPT软件中的应用

不知道你毕业答辩的时候有没有做过PPT,是不是也被这个工具折磨过。没想到现在都有AI生成PPT的工具了吧?这次我就介绍几款可以轻松生成PPT的AI工具吧。 1.笔灵AIPPT 连接直达:​​​​​​​https://ibiling.cn/ppt-zone 这个工具我最早是…

Nature Medicine:基于图像的深度学习和语言模型用于原发性糖尿病护理

首个糖尿病诊疗多模态大模型DeepDR-LLM已成功发表在Nature子刊。 这是全球首个面向糖尿病诊疗的视觉-大语言模型集成系统,结合了语言模型和基于眼底图像的深度学习技术。该系统旨在为基层医生提供个性化的糖尿病管理建议和辅助诊断结果,特别对中低收入国…

【实现100个unity特效之12】Unity中的冲击波 ——如何使用ShaderGraph制作一个冲击波着色器

最终效果 文章目录 最终效果新增LitShaderGraph圆环扭曲效果优化冲击波效果屏幕全屏冲击波圆形冲击波最终连线图代码控制补充源码完结 新增LitShaderGraph 圆环扭曲效果 让我们从一个UV节点开始 创建一个Vector2变量RingSpawnPosition表示冲击波生成位置,在X和Y上将其默认值…

PyTorch基于深度神经网络的语音情绪识别

【图书推荐】《PyTorch语音识别实战》-CSDN博客 《PyTorch语音识别实战(人工智能技术丛书)》(王晓华)【摘要 书评 试读】- 京东图书 (jd.com) 情绪数据的获取与标签的说明 首先是语音情绪数据集的下载,在这里使用瑞尔森情感语音和歌曲视听数…

sourcemap使用

sourcemap是什么以及怎么生成就不过多阐述了,这是之前看到的一篇文章感觉介绍的很详细:弄懂 SourceMap,前端开发提效 100% 浏览器加载sourcemap 我们线上代码一般不会开启sourcemap,在排查线上的问题时,可以通过浏览器…