支持向量机基础

2023-11-05

支持向量机:也叫支持向量网络,可以继续有监督,半监督,无监督学习

有监督学习:线性二分类与回归, 非线性二分类与回归,普通连续型变量的回归,概率型连续变量的回归

无监督学习:支持向量机的聚类(SVC),异常值检测

半监督学习:转导支持向量机

支持向量机用途最广泛领域属于线性与非线性分类用途

支持向量机可以进行手写数字识别,人脸识别,文本分类,图像分类,是最接近深度学习的机器学习算法

支持向量机的原理:在数据中找到超平面作为决策边界,并且使得模型的误差尽量小

超平面:当前空间的子空间,比当前空间小一维,三维空间的超平面是二维平面

支持向量机的目标是:找到边际最大的决策边界

 支持向量机的决策过程可视化

from sklearn.datasets import make_blobs  #制造数据
from sklearn.svm import SVC
import  matplotlib.pyplot as plt
import numpy as np
x,y = make_blobs(n_samples=50,centers=2,random_state=0,cluster_std=0.6)
plt.scatter(x[:,0],x[:,1],c= y,s= 50,cmap = "rainbow")
a = plt.gca()  #创建同样的画布
plt.xticks([])
plt.yticks([])
plt.show()

绘制图像网格找到决策边界与边际,为后续使用等高线绘制边界与边际做铺垫

xlim = a.get_xlim()  #查看画布数据横纵坐标范围
ylim = a.get_ylim()
xlim
ylim

aisx = np.linspace(xlim[0],xlim[1],30)  #在最小值与最大值之间创建30个有规律的数据(在x轴上间隔相同的30个点)
aisy = np.linspace(ylim[0],ylim[1],30)
aisx

aisx,aisy = np.meshgrid(aisx,aisy)   #使用网格函数将数据转换为二维网格数据
aisx

aisx.shape

 

aisx.ravel().shape  #使用ravel将数据进行拉平,一种降维方法

aisy.ravel().shape

xy = np.vstack([aisx.ravel(),aisy.ravel()]).T  #将数据进行堆叠并形成网格
xy.shape

plt.scatter(xy[:,0],xy[:,1],s = 1,cmap = "rainbow")  #网格绘制

 建模训练

clf = SVC(kernel = "linear").fit(x,y)  #训练实质是在计算决策边界
z = clf.decision_function(xy).reshape(aisx.shape) #返回每个样本对应到决策边界的距离
z

plt.scatter(x[:,0],x[:,1],c= y,s= 50,cmap = "rainbow")
a = plt.gca()  #创建同样的画布

a.contour(aisx,aisy,z  #使用等高线函数,绘制决策边界与决策边际线段
         ,colors = "k"
         ,levels = [-1,0,1]
         ,alpha = 0.5
         ,linestyles = ["--","-","--"])

a.set_xlim(xlim)
a.set_ylim(ylim)

上述图像中,实线是决策边界,虚线是决策边际(超平面)

x[10]  #在图中查看x[10]的位置的点
plt.scatter(x[:,0],x[:,1],c = y,s = 50,cmap = "rainbow")
plt.scatter(x[10,0],x[10,1],c = "black",s = 50,cmap = "rainbow")

 对模型进行探索

clf.predict(x)  #预测

clf.score(x,y) #返回准确率

  支持向量:决策边际经过其中心的点

clf.support_vectors_  #返回支持向量,这个模型中有三个支持向量


clf.n_support_ #每个类中返回的支持向量的个数

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持向量机基础 的相关文章

  • QT定制帮助文档

    先给个教程链接 https www cnblogs com Braveliu p 5055387 html
  • Win8下用DOSBox编写汇编语言

    Win8下用DOSBox编写汇编语言 DOSBox 是一个 DOS模拟程序 可以很方便的移植到其他的平台 因此可以使用它在Win8系统中编写汇编语言 下面提供相关下载链接 DOSBox下载 http pan baidu com s 1qWw

随机推荐

  • 简易学生信息管理系统(Python版)

    一 系统简介 实现一个学生信息的管理系统 主要功能有 添加学生信息 删除学生信息 修改学生信息 查询学生信息 显示学生信息 退出当前系统 二 步骤分析 显示功能界面 用户输入功能序号 对不同序号的功能实现具体函数 3 1 定义函数 3 2
  • [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解

    从本专栏开始 作者正式研究Python深度学习 神经网络及人工智能相关知识 前一篇文章详细讲解了Keras实现分类学习 以MNIST数字图片为例进行讲解 本篇文章详细讲解了卷积神经网络CNN原理 并通过Keras编写CNN实现了MNIST分
  • 硬件系统工程师宝典(2)-----硬件电路的概要设计启动

    今天我们继续来读这本书 硬件系统工程师宝典 作者提到 产品需求分析之后就进入概要设计阶段 在这个阶段 ID Industrial Design 工业设计及结构工程师 软件系统开发工程师和硬件系统开发工程师等开始分头工作 工业设计工程师负责使
  • 【会议分享】2022年工业电子与仪器仪表国际会议(ICoIEI 2022)

    2022年工业电子与仪器仪表国际会议 ICoIEI 2022 重要信息 会议网址 www icoiei org 会议时间 2022年10月15 17日 召开地点 韩国济州岛 截稿时间 2022年9月15日 录用通知 投稿后2周内 收录检索
  • python王者归来 pdf下载_OpenStack开源云王者归来

    基本上关于openstack的都买过了 这本最后 前面一些概念内容还是很有帮助的 很好的一本书 非常适合初学者 赞一个 不过原理的东西特少 全都是代码 真是看得蛋疼 OpenStack开源云王者归来介绍 本书按照入门 剖析 扩展的讲授方式
  • 【Python】查看Python & PyTorch & Torchvision版本

    1 查看Python版本 方法一 终端中输入 python V 方法二 进入Python环境 python 输入 import sys print sys version print sys version info 2 查看PyTorch
  • 服务器开启虚拟机就死机,解决ESXi服务器上磁盘锁导致虚拟机卡死的问题

    解决ESXi服务器上磁盘锁导致虚拟机卡死的问题 解决ESXi ESX服务器上磁盘锁导致虚拟机假死 卡死的问题 当虚拟机被卡死或假死时 在文件夹里面只有如下内容信息 1 vswp 2 flat vmdk 3 delta vmdk 4 vmx
  • 人工智能、机器学习、自然语言处理、深度学习等有啥本质的区别?

    大众媒体赋予这些术语的含义通常与机器学习科学家和工程师的理解有所出入 因此 当我们使用这些术语时 给出准确的定义很重要 其关系韦恩图如图1 2所示 图1 2 自然语言处理 人工智能 机器学习和深度学习等术语的关系韦恩图 1 人工智能 人工智
  • LeetCode题目笔记——1807. 替换字符串中的括号内容

    文章目录 题目描述 题目难度 中等 方法一 使用字典 代码 Python 代码 C 总结 题目描述 给你一个字符串 s 它包含一些括号对 每个括号中包含一个 非空 的键 比方说 字符串 name is age yearsold 中 有 两个
  • u盘显示需要格式化才能用怎么办?小技能了解下!

    u盘显示需要格式化才能用怎么办 u盘是常用的一款数据存储设备 但不少网友在使用u盘的过程中 都遇到过这样的一个问题 就是u盘无法打开且提示需要将其格式化 有网友使用u盘的时候操作不当 直接拔插u盘导致u盘损坏需要格式化才能继续使用 但是里面
  • winform 登录跳转页面

    登录成功后跳转 改两个地方就可以解决而 第一个 上面的判断是登录成功与否 跳转需要的就是一句 当前页 改变DialogResult this DialogResult DialogResult OK 第二个 在Program cs里面 st
  • 矩形覆盖(java)

    一 问题描述 我们可以用2 1的小矩形横着或者竖着去覆盖更大的矩形 请问用n个2 1的小矩形无重叠地覆盖一个2 n的大矩形 总共有多少种方法 二 算法分析 解题思路 归纳法 列举出n 1 2 3 4 5 总结规律 分析可知 f n 可以按照
  • java.lang.ClassNotFoundException:(新建的servlet无法找到class文件)

    1 首先确定project gt Build Automatically是否勾选上 2 然后 再进行测试 能不能进行编译 如果还是不能 则进行手动编译 3 进入clean对话框 选择Clean projects selected below
  • 一个按键控制8个led灯_51单片机实现4个按键控制8个LED灯四种状态

    电路原理图 元件清单 程序 C语言 include
  • 爬虫一:用正则表达式爬取图片

    爬虫流程 发起请求 通过使用HTTP库向目标站点发起请求 即发送一个Request 请求可以包含额外的headers等信息 并等待服务器响应 获取响应内容如果服务器能正常响应 则会得到一个Response Response的内容就是所要获取
  • 如何模拟自动鼠标点击或记录鼠标和回放

    在日常办公和娱乐中 我们可能经常想让鼠标自动化的多一点 能自动点击或者循环做一些简单的重复性的程序事务 有没有办法来解决这个小问题呢 你可以使用极速自动鼠标点击器 它是一款鼠标自动点击软件工具 可以极快速的模拟自动鼠标点击或记录鼠标动作 并
  • [深入研究4G/5G/6G专题-27]: 5G NR开机流程4.5 - RRC连接应答消息MSG4、PUCCH上行控制信道首次调度、UCI与HARQ应答

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 随机接入知识准备 1 1 逻辑信道 传输信道 物理信道的映射关系
  • Office CVE-2017-11882本地复现

    Office CVE 2017 11882本地复现 这两天 office又出名了 CVE 2017 11882成了圈里关注的热点 今年office爆出好几个漏洞 从CVE 2017 0199 CVE 2017 8570到现在的CVE 201
  • Linux服务器Shell批量巡检

    关键词 Linux shell 批量巡检 1 批量巡检流程 通过Linux shell脚本实现批量服务器巡检方案 通常脚本由三部分组成 包括 巡检脚本 实现对性能信息或指标的采集与回传 巡检脚本下发脚本 由主服务器通过Except工具分别根
  • 支持向量机基础

    支持向量机 也叫支持向量网络 可以继续有监督 半监督 无监督学习 有监督学习 线性二分类与回归 非线性二分类与回归 普通连续型变量的回归 概率型连续变量的回归 无监督学习 支持向量机的聚类 SVC 异常值检测 半监督学习 转导支持向量机 支