头歌——机器学习——支持向量机案例

第1关:基于支持向量机模型的应用案例

任务描述

本关任务:编写一个基于支持向量机模型的应用案例。

相关知识

在本应用案例中,我们借助一个具体的实际问题,来完整地实现基于支持向量机模型的开发应用。在此训练中,我们会介绍如何加载数据集、训练集与测试集的划分,以及如何利用sklearn构建支持向量机模型。

SVM应用案例之数据加载

Iris数据集是机器学习任务中常用的分类实验数据集,由Fisher在1936收集整理。 Iris中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris data set,是一类多重变量分析的数据集。Iris一共包含150个样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

样本局部截图:

,

我们可以通过以下方法从sklearn库加载该数据集。

  • dataset = load_iris()
SVM应用案例之数据划分

我们通常使用 train_test_split() 函数来随机划分样本数据为训练集和测试集,这样做的好处是随机客观的划分数据,减少人为因素。

其中该函数中包含的参数为:

train_data:待划分样本数据

train_target:待划分样本数据的结果(标签)

test_size:测试数据占样本数据的比例,若整数则样本数量

random_state:设置随机数种子,保证每次都是同一个随机数。若为0或不填,则每次得到数据都不一样 具体实现如下:

  • x_train,x_test,y_train,y_test = train_test_split(data_x,data_y,test_size=0.3)
SVM核心算法实现

sklearn库是机器学习领域当中最知名的 python 模块之一。他包含了很多种机器学习的内容,如分类,回归,数据处理,模型选择等等,用途广泛且非常方便,其中就包括了支持向量机模型,我们可以轻松地调用sklearn库中封装好的svm函数实现操作,具体操作如下:

  • from sklearn import svm;//调用sklearn库中的svm函数
  • clf = svm.SVC();//调用svm函数中的SVC核心算法
SVM应用案例之评价指标

在分类任务中,常有的评价指标如下图所示。

,

针对二分类问题,即将实例分成正类(positive)或负类(negative),在实际分类中会出现以下四种情况: (1)若一个实例是正类,并且被预测为正类,即为真正类(True Positive TP) (2)若一个实例是正类,但是被预测为负类,即为假负类(False Negative FN) (3)若一个实例是负类,但是被预测为正类,即为假正类(False Positive FP) (4)若一个实例是负类,并且被预测为负类,即为真负类(True Negative TN)

我们常用准确率来衡量分类器正确的样本与总样本数之间的关系。 具体公式为  Accuracy =TP+TN+FP+FNTP+TN​

在本次应用案例中,我们通过比较预测值与真实值来统计预测正确的数目,具体实现如下:

  • cnt = 0 //初始化为零
  • for i in range(len(y_test)): //通过循环来遍历寻找预测正确的数目
  • if y_predict[i] == y_test[i]:
  • cnt +=1
  • print(cnt/len(y_predict)) //由预测正确的数目除以总数目得到准确率accuracy。

第1关任务——代码题

from sklearn import svm # 加载sklearn库来调用svm算法
from sklearn.datasets import load_iris #加载sklearn库中的数据集
from sklearn.model_selection import train_test_split #划分测试集训练集#1.加载数据集
################# Begin #################
datas = load_iris()
################# End #################
data_x = datas.data #定义数据
data_y = datas.target #定义标签#2.划分训练集和测试集
################# Begin #################
x_train,x_test,y_train,y_test = train_test_split(data_x,data_y,test_size=0.3)
################# End ##################3.调用svm函数
################# Begin #################
from sklearn import svm;
clf = svm.SVC();
################# End #################clf = clf.fit(x_train,y_train) #开始训练svm模型
a = clf.predict(x_test) #开始测试cnt = 0
for i in range(len(y_test)):  #评价预测的结果if a[i] == y_test[i]:cnt +=1
print(cnt/len(a))

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

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

相关文章

运筹系列93:VRP精确算法

1. MTZ模型 MTZ是Miller-Tucker-Zemlin inequalities的缩写。除了定义是否用到边 x i j x_{ij} xij​外,还需要定义一个 u i u_i ui​用来表示此时车辆的当前载货量。注意这里x变量需要定义为有向。 这里定义为pickup问题,代码为: using Ju…

数据库系统概论-第11章并发控制

允许多个用户同时使用同一个数据库的数据库系统称为多用户数据库系统。 事务可以一个一个地中行执行,即每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行。 单处理机系统中,事务的并行执行实际上是这些并行事务的并行操…

windows下载jdk并安装步骤(保姆级教程)

一、下载jdk 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、双击下载好的jdk 更改安装目录然后点击下一步 然后会弹出jre的安装,需要选择路径(注意:这里的路径必须跟前面的jdk在…

ocr数据不够,怎么造数据

1.确定特定字体类型; 2.收集合适的图片作为背景 3.在背景图上填写特定字体的字符内容 1)字体无法确认时怎么办? 方法一:可以将文本行裁剪出来去网站上确认,网站链接:字体识别-在线扫一扫图片找字体-搜字…

将huggingface的大模型转换为safetensor格式

很多huggingface的大语言模型都是pytorch的格式,但是mindie需要safetensor格式,另外mindieservice加载原始的baichuan2-13b的模型出错,后来排查是bfloat16数据格式的问题,所以这次转换要一次性转为float16的格式。 上代码&#x…

计算机网络:如何隐藏真实的IP和MAC地址?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

PLC网关如何选择?plc网关作用-天拓四方

一、PLC网关在工业自动化领域的重要性和作用 PLC网关在工业自动化领域的重要性和作用不言而喻。作为工业自动化系统的重要组成部分,PLC网关起到了关键的桥梁作用,实现了PLC与其他设备、系统之间的数据传输和通信。 首先,PLC网关的重要性体现…

【华为OD机试】 约瑟夫问题(C++/Java/Python)

题目 题目描述 输入一个由随机数组成的数列(数列中每个数均是大于 0 的整数,长度已知),和初始计数值 m。 从数列首位置开始计数,计数到 m 后,将数列该位置数值替换计数值 m, 并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。 如果计数到…

最像人声的语音合成模型-ChatTTS

目录 写在前面 一、使用ChatTTS 二、优点 三、局限 写在前面 最像人声的AI来了!语音开源天花板ChatTTS火速出圈,3天就斩获9k个star。截至发稿前,已经25.9k个star了。这是专门为对话场景设计的语音生成模型,用于LLM助手对话任务…

SUSE linux的启动过程介绍

引导Linux系统涉及不同的组件和任务。在固件和硬件初始化过程(取决于机器的架构)之后,内核通过引导加载程序GRUB2启动。此后,引导过程完全由操作系统控制并由systemd处理。systemd提供了一组“target”,用于为日常使用…

微信开放平台(第三方平台)

特征: 统一管理: 可以统一管理和操作多个公众号和小程序,提供批量化、集中化的服务。 代开发和运营: 为公众号和小程序提供代开发和运营服务,例如提供自动回复、模板消息、用户管理等功能。 接口调用: 通过…

基于深度学习的模糊图像还原

基于深度学习的模糊图像还原 模糊图像还原(Image Deblurring)是计算机视觉中的一个重要任务,旨在从模糊的图像中恢复出清晰的图像。模糊可以由于多种原因产生,例如相机抖动、运动模糊、焦点失准等。传统的图像去模糊方法通常依赖…

搭建抖音微短剧系统:源码部署与巨量广告回传全解析

在数字化浪潮中,抖音微短剧已成为内容创作的新宠。想要搭建一个高效的抖音微短剧系统,并实现与巨量广告的有效回传吗?本文将为您详细解析源码部署与广告回传的关键步骤。 一、源码部署:构建短剧系统的基石 源码是软件开发的起点…

vscode远程连接Ubantu

一、首先用VM虚拟机打开一个Linux系统 二、打开VScode 在扩展里安装 安装后,打开Linux查看IP地址 在VScode 中新建连接主机 输入linux_nameip地址 -A 然后输入Linux的登录密码 就可以远程操控 Linux了 可以在终端中远程控制Linux 点击左上角的打开文件夹可以很…

什么是 Azure OpenAI?

目录 一、说明 二、什么是 Azure OpenAI 2.1 网络结构 2.2 、为什么使用 Azure OpenAI 2.3 如何使用 Azure OpenAI 三、从哪里开始 Azure OpenAI 之旅 3.1 关于 Azure OpenAI,我还需要了解什么 3.2 RBAC 权限和角色 3.3 演示 1:在公共数据上应用…

【面试题】网络 http、https协议(第一篇)

1.简述HTTP协议 HTTP,全名超文本传输协议,是一个用于客户端与服务器之间进行数据传输的应用层协议,可以传输文本、图片、音视频等超文本内容。 1.HTTP使用TCP作为传输层协议,因此具有可靠性, 2.除此之外&#xff0c…

聚合项目学习

首先建立一个总的工程目录,里边后期会有我们的父工程、基础工程(继承父工程)、业务工程(依赖基础工程)等模块 1、在总工程目录中(open一个空的文件夹),首先建立一个父工程模块(通过spring init…

4面体空间内直链4点结构分布与占比

在30个点的4面体空间内取4个点,有30*29*28*27/2427405种取法,要求得到的4个点必须在直链上。只有144个结构符合要求,在平移操作下不重合的结构有36个。 这36个结构可以按照旋转对称性进一步分成3组0,1,4,每…

Anisble Playbook

文章目录 一、Playbook简介三种常见的数据格式Playbook特点YAML语言介绍 二、Playbook核心组件host组件remote_user组件task列表和action组件gather_factsHandlers notifyignore_errors 三、playbook命令playbook命令tags 标签 四、Playbook中的变量setup模块中的变量Playbook命…

vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程

不再需要为每一个路由编写冗长的 routes 配置啦,新建文件便可自动生成路由! 使用方法 1. 安装 unplugin-vue-router npm i -D unplugin-vue-router2. 修改 vite 配置 vite.config.ts import VueRouter from unplugin-vue-router/viteplugins 中加入 V…