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

news2024/9/24 11:26:24
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.coloradmin.cn/o/1989539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

heapq.heapify构建小顶堆的流程

代码示例 import heapqlst [2, 3, 4, 6, 9, 1, 5] heapq.heapify(lst) print(lst)流程解释 初始列表: 列表 lst 在开始时是 [2, 3, 4, 6, 9, 1, 5]。 调用 heapq.heapify(lst): heapify 函数将 lst 转换为一个小顶堆(min-heap)。在小顶堆中&#xff0…

Spring框架漏洞(附修复方法)

Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在2002年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应…

《UniverSeg: Universal Medical Image Segmentation》ICCV2023

摘要 这篇论文提出了一种名为 UniverSeg 的方法,它能够解决未见过的医学图像分割任务,而无需额外的训练。现有的深度学习模型通常无法泛化到新的解剖结构、图像模式或标签上。UniverSeg 利用一种新的 CrossBlock 机制,通过查询图像和定义新分…

利用tkinter制作简易计算器,页面美观,计算保留4位小数

import tkinter as tk import time window tk.Tk() window.title("简易计算器") window.geometry(300x400) content def btn_onclick(data):global contentif data"AC" or data "MC":expression.set()result.set()content elif data :result…

无人机长生不老秘籍

机身保养 外观检查 1.检查机器表面整洁无划痕无针孔凹陷擦伤、畸变等损坏情况 2.晃动机身,仔细听机身内部有无松动零件或者螺丝在机身内部 桨叶检查 1.有无裂痕、磨损、变形等缺陷,如有明显缺陷建议更换 2.卡扣、紧固件有无松脱或失效,…

嵌入式学习之路 14(C语言基础学习——指针操作一维整型数组)

一、指针基础 指针的概念 地址表示内存单元的编号,也被称为指针。指针既是地址,也是一种专门用于处理地址数据的数据类型。 例如,变量a的地址或者十六进制表示的0x1000都可以视作指针。 指针变量的定义 语法:基类型 * 指针变…

探索灵办AI:智能办公的好帮手

引言 随着AI工具的增多,选择合适的AI助手变得尤为重要。ChatGPT的订阅费用高且功能单一,很多小伙伴开始寻找更具性价比和多功能的替代品。灵办AI以其便捷、高效、多功能的特点,成为许多朋友的新宠。 灵办AI助手是一款多功能的全能AI助手&am…

智能名片信息交流系统应用场景解决方案

智能名片作为传统名片在数字化时代的进化产物,集成了移动互联网、大数据和人工智能等先进技术,为商务交流和客户关系管理带来了全新的体验。 系统主要功能 01内容聚合与展示 企业信息展示:智能名片不仅包含个人基本信息,还能展示…

MDIO C22协议访问MMD寄存器

以太网PHY芯片中SMI(Serial Management Interface)串行管理接口,也称MDIO(Management Data Input/Output),通常作为MII管理接口(MII Management Interface)。有两根线,分别为双向的MDIO和单向的MDC,用于以太网设备中上层对物理层(PHY)的管理。 MDIO接口有两种协议…

LVX+keepalived群集

Keepalived 双 机 热 备 基 础 知 识 Keepalived 起初是专门针对LVS 设计的一款强大的辅助工具,主要用来提供故障切换(Failover) 和健康检查(Health Checking) 功能——判断 LVS负载调度器、节点服务器的可用性,当master 主机出现故障及时切换到b…

MacOS Anaconda 安装教程及虚拟环境创建

一、下载 Anaconda 1、Anaconda 官网 2、清华大学开源软件镜像站 点 Date 按时间排序,根据自己 Mac 芯片类型下载对应最新版本的。 Intel 芯片的下载 x86_64 版本的Apple m1 芯片的下载 arm64 版本的 二、安装 Anaconda 将安装包下载到本地后,双击安…

人工智能|人工智能教育的发展现状及趋势

智能的热潮正席卷全球。国家在人工智能领域展开战略布局,人工智能人才成为国家急需的高层次技术人才。据领英发布的《全球 Al 领域人才报告》显示,国内人工智能人才缺口达到 500 多万。 毫无疑问,人工智能将不可阻挡地影响所有产业。给自己一…

随手记1.0

easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现) package com.example.wxmessage.entity;import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;…

探索 Amazon Q Developer 那些有趣的功能

我在 McKinsey 2024 年 5 月 30 日提供的一项名为“The state of AI in early 2024-Gen AI adoption spikes and starts to generate value”的调研中读到这么一句话:人工智能在组织中最常见的两个使用职能是:“市场营销和销售”以及“产品和服务开发”&…

vue3-ts:husky + prettier / 代码格式化工具

一、Prettier简介 Prettier是一个流行的代码格式化工具,它的主要作用是帮助开发者自动规范化代码的格式,提高代码的可读性和一致性。Prettier通过解析代码并使用自己的规则重新打印它,以确保代码风格的一致性和符合预设的格式化标准。 二、…

计网学习(四)——网络层

一、网际协议IP 互联网采用的设计思路:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务”,即IP数据报在网络中传输时是不可靠的服务,可能会出现数据丢失等情况TCP/IP体系中网络层常常被称为网际层或IP层与IP协议一起使用…

35分钟教你从0到1,水出SCI(精品),学术裁缝必修课_来自B站水论文的程序猿

系列文章目录 文章目录 系列文章目录一、抽象理解二、具体做法1、什么是Baseline(基础实验)2、怎么和导师说3、怎么做压低baseline 4、怎么写 一、抽象理解 一篇论文A:西红柿炒鸡蛋 一篇论文B:芹菜炒肉 你就可以:西红柿炒肉 二、具体做法 1、什么是Baseline(基础…

视频压缩文件太大了怎么缩小?6个视频压缩技巧,速度收藏起来!

高清视频文件,尤其是那些以 1080p 和 720p 清晰度为特征的视频,通常都拥有相当大的体积,会占据大量计算机存储空间。因此,为了更好地将它们进行分享和存储,您可能需要对它们进行压缩,以减小它们的尺寸。然而…

【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 本次的题目比较典,…

资料分析6-其他类

一、拉动增长、增量贡献率和容斥问题 1. 拉动增长 拉动增长部分增量/整体前期,即x/A 例题1(2018 年陕西):2017 年,我国电信业务收入12620 亿元,比上年增长6.4%,增速同比提高1 个百分点。……2…