机器学习(一)svm运用实例

2023-11-03

机器学习(一)svm运用实例

这里我使用sklearn.svm.SVC函数,首先介绍一下函数参数。

sklearn.svm.SVC(C=1.0, kernel=‘rbf’, degree=3, gamma=‘auto’,
coef0=0.0, shrinking=True, probability=False,tol=0.001,
cache_size=200, class_weight=None, verbose=False, max_iter=-1,
decision_function_shape=None,random_state=None)

C:C-SVC的惩罚参数C?默认值是1.0。C越大,相当于惩罚松弛变量,希望松弛变量接近0,即对误分类的惩罚增大,趋向于对训练集全分对的情况,这样对训练集测试时准确率很高,但泛化能力弱。C值小,对误分类的惩罚减小,允许容错,将他们当成噪声点,泛化能力较强。
Kernel:核函数,默认是rbf,可以是‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’‘precomputed’
degree :多项式poly函数的维度,默认是3,选择其他核函数时会被忽略。
gamma :‘rbf’,‘poly’ 和‘sigmoid’的核函数参数。默认是’auto’,则会选择1/n_features
coef0 :核函数的常数项。对于‘poly’和 ‘sigmoid’有用。
probability :是否采用概率估计?.默认为False
shrinking :是否采用shrinking heuristic方法,默认为true
tol :停止训练的误差值大小,默认为1e-3
cache_size :核函数cache缓存大小,默认为200
class_weight :类别的权重,字典形式传递。设置第几类的参数C为weight
C(C-SVC中的C)
verbose :允许冗余输出?
max_iter :最大迭代次数。-1为无限制。
decision_function_shape :‘ovo’, ‘ovr’ or None, default=None3
random_state :数据洗牌时的种子值,int值
主要调节的参数有:C、kernel、degree、gamma、coef0。*

  1. 创造数据集函数
    make_blobs
    x为特征y为标签
    X, y = make_blobs(n_samples=200, centers=2, random_state=0, cluster_std=0.3)

  2. 画图

    • 找出x轴,y轴的长度,x[:,0].min()+1 x[:.0].man()+1
    • 生成坐标矩阵
      numpy.meshgrid()生成网格点坐标矩阵
      [X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制(注:下面代码中X和Y均是数组,在文中统一称为矩阵了)。假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 nm (注意不是mn)
      np.linspace主要用来创建等差数列
      np.arange函数返回一个有终点和起点的固定步长的排列
      np.c_给numpy数组添加列
      np.r_给numpy数组添加行
    1. 生成数据作图
      np.ravel()将采样点的x坐标摊平,
      np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。
      np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等。
      xx.shape表示一共有多少个元素
      Z.reshape作用就是把数据原来的尺寸更改为我们想要的尺寸
    2. 绘制
      plt.contourf(xx, yy, Z, cmap=‘hot’, alpha=0.5)等高线作图
      np.unique(y)该函数是去除数组中的重复数字,并进行排序之后输出
from sklearn import svm
from sklearn.datasets import make_blobs
from matplotlib import pyplot as plt
import numpy as np
X, y = make_blobs(n_samples=300, centers=2, random_state=0, cluster_std=0.3)
clf = svm.SVC(kernel='linear', C=1.0)
clf.fit(X, y)
plt.figure(figsize=(12, 4), dpi=144)
h = 0.02
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
# 使用np.meshgrid()扩充为两轴的所有可能取值的组合
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
                     np.arange(y_min, y_max, h))
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap='hot', alpha=0.1)
markers = ['o', 's', '**']
colors = ['r', 'g', 'y']

labels = np.unique(y)
for label in labels:
    plt.scatter(X[y == label][:, 0],
                X[y == label][:, 1],
                c=colors[label],
                marker=markers[label])


sv = clf.support_vectors_
# 绘制为白色'x',这样就会贴在之前的有色点上了
plt.scatter(sv[:, 0], sv[:, 1], c='y', marker='x')
plt.style.use("ggplot")
plt.title('svm')

plt.xlabel('X1 ')
plt.ylabel('X2 ')
plt.show()

运行结果
在这里插入图片描述

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

机器学习(一)svm运用实例 的相关文章

  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • NotImplementedError:无法将符号张量 (lstm_2/strided_slice:0) 转换为 numpy 数组。时间

    张量流版本 2 3 1 numpy 版本 1 20 在代码下面 define model model Sequential model add LSTM 50 activation relu input shape n steps n fe

随机推荐

  • frida启动报错:./frida-server-15.1.27-android-x86_64: can‘t execute: Is a directory

    报错场景 在MuMu模拟器上安装frida server 启动的时候报错 报错信息如下 frida server 15 1 27 android x86 64 can t execute Is a directory 原因剖析 报错信息上显
  • 10g r2 RAC Dataguard 3 nodes

    最近在深圳实施windows 2003 上的oracle RAC项目 原来计划是两个节点 结果客户要求三个节点 因为是他们认为购买的服务器只有二个cpu 原来计划是四个cpu 然后还要在做dataguard 一开始安装很顺利 两个节点测试也
  • HTTP状态 405 - 方法不允许

    错误描述 HTTP状态 405 方法不允许 类型 状态报告 消息 Request method GET not supported 描述 请求行中接收的方法由源服务器知道 但目标资源不支持 此时的原因是请求类型错误 网页是get请求 但是实
  • springMVC项目如何配置tomcat

    先打开项目然后按图片所示操作 最后点击ok就可以启动项目啦
  • 【机器学习教程】四、随机森林:从论文到实践

    引言 随机森林 Random Forest 是机器学习领域中一种强大的集成学习算法 它的优秀性能和广泛应用使得它成为了机器学习领域的一个重要里程碑 本文将从算法的发展历程 重要论文 原理以及实际应用等方面详细介绍随机森林 并提供一个复杂的实
  • 时间段随机 java_java生成指定范围的随机日期

    有这样一个需求 构造一个方法 随机生成1990 12 31 00 00 00到 2013 12 31 00 00 00之间任意一个时间点 思路是这样 在javaAPI中 Date类型和long类型很好转化 所以我们可以把问题转化为 求两个l
  • Selinux

    1 Selinux的影响 对于文件的影响 当selinux开启时 内核会对每个文件及每个开启的程序进行标签加载 标签内记录程序和文件的安全上下文 context 对于程序功能的影响 当selinux开启会对程序的功能加载开关 并设定此开关的
  • HBuilder 打包 H5 APP 进行认证登录

    H5 Mui App 统一身份认证登录过程的记录 在 h5 app 开发的过程中 用到到统一认证登录的功能 统一身份认证登接口 来进行登录验证 在开发 h5 app 的时候 一般会提供 app 网页版的 这时候会发现 网页版和打包的APP几
  • Perl知识点滴

    函数多返回值 v1 abc v2 bcd v3 v4 upcase v1 v2 sub upcase my parms for parms tr a z A Z return wantarray parms parms 0 print v3
  • 【数据结构】6.4 AVL树(C++)

    数据结构 6 4 AVL树 没有学过二叉搜索树 也叫二叉排序树或二叉查找树 的小伙伴们建议先学习一下 这样阅读会更轻松哦 点我学习二叉搜索树 目录 一 AVL树的概念 1 二叉搜索树的问题 2 AVL树的性质 二 AVL树实现平衡的方法 1
  • 为啥要用三层结构

    开发人员可以只关注整个结构中的其中某一层 可以很容易的用新的实现来替换原有层次的实现 可以降低层与层之间的依赖 有利于标准化 利于各层逻辑的复用 结构更加的明确 在后期维护的时候 极大地降低了维护成本和维护时间 体现了高内聚 低耦合的思想
  • DocuCentre SC2020 打印机连接

    驱动下载地址 https support fb fujifilm com setupDriverForm do ctry code CN lang code zh CN d lang zh CN pid DCSC2020 anchor0 安
  • 《再也不怕elasticsearch》es环境搭建、集群搭建

    Elasticsearch环境搭建 大家好我是迷途 一个在互联网行业 摸爬滚打的学子 热爱学习 热爱代码 热爱技术 热爱互联网的一切 再也不怕elasticsearch系列 帅途会慢慢由浅入深 为大家剖析一遍 各位大佬请放心 虽然这个系列帅
  • 90、基于STM32单片机数字频率计频率检测配NE555脉冲发生器设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

    单片机主芯片选择方案 方案一 AT89C51是美国ATMEL公司生产的低电压 高性能CMOS型8位单片机 器件采用ATMEL公司的高密度 非易失性存储技术生产 兼容标准MCS 51指令系统 片内置通用8位中央处理器 CPU 和Flash存储
  • 几个效率高的排序算法

    实用排序算法 复杂度小于等于O n 2 中效率最低但实现并不是最简单的的两个 C C 教材却总喜欢拿来大讲特讲 非常不利于初学者养成 程序效率 的思维 实际上 各种排序算法里 除了堆排序实现较为复杂外 从代码量的角度 大多数算法都不比冒泡
  • matlab标准数据,Matlab数据标准化实现

    在多属性综合评价问题中 为了消除量纲差异带来指标不可公度性问题 往往需要对原始评价矩阵进行标准化处理 通过将不同量纲进行变换 变为无量纲的标准化指标 考虑到原始评价矩阵可能同时有多种类型的指标 比如 某个评价问题中可能同时有正向指标 越大越
  • 五分钟让你彻底了解TDD、ATDD、BDD&RBE

    在目前比较流行的敏捷开发模式 如极限编程 Scrum方法等 中 推崇 测试驱动开发 Test Driven Development TDD 测试在先 编码在后的开发实践 TDD有别于以往的 先编码 后测试 的开发过程 而是在编程之前 先写测
  • PostgreSQL用户登录失败自动锁定的解决办法

    墨墨导读 PostgreSQL使用session exec插件实现用户密码验证失败几次后自动锁定 本文介绍一种处理方案 一 插件session exec安装配置篇 下载插件并编译安装 https github com okbob sessi
  • RPA机器人的两种类型与未来发展

    眼下 RPA 机器人流程自动化 日渐成为业务流程优化重要解决方案和企业关注的重点 RPA不仅可以改善企业的工作方式 带来效率的提升和超高的投资回报率 ROI 其潜在的其他好处也是其他工具所无法比拟的 如改善客户体验 提高员工满意度 提高人才
  • 机器学习(一)svm运用实例

    机器学习 一 svm运用实例 这里我使用sklearn svm SVC函数 首先介绍一下函数参数 sklearn svm SVC C 1 0 kernel rbf degree 3 gamma auto coef0 0 0 shrinkin