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

news2024/11/15 13:30:18

第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.coloradmin.cn/o/1868803.html

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

相关文章

数据结构与算法笔记:高级篇 - 向量空间:如何实现一个简单的音乐推荐系统?

概述 很多人喜都喜爱听歌,以前我们用 MP3 听歌,现在直接通过音乐 App 在线就能听歌。而且,各种音乐 App 的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的喜好,给你推荐你可能会喜好的音乐&#x…

Polyplus转染试剂的优点,你知道吗?

Polyplus专注于为生命科学研究、体内转染、生物制品制造以及细胞和基因治疗的客户,提供创新的核酸递送解决方案。其深耕转染领域,产品力强劲。在科研领域,其产品转染效果以及价格都优于lipo系列。无论是在基础科学研究中,还是在临…

数字AI化银行数字化转型实战手册银行数字化转型大客户营销销售讲师培训师唐兴通谈存量客户理财金融科技与场景化

推动银行数字化转型的五个关键因素 推动银行数字化转型的五个关键因素: 客户体验。为客户提供便利和个性化是数字化转型的关键因素。银行应开发和实施创新的数字渠道,例如移动应用程序、网上银行、聊天机器人等,以方便获取金融服务并提高客户…

【哈尔滨等保测评二级多久需要测试一次?】

哈尔滨二级等级保护测评一般为两年一次。 在确定周期时,应综合考虑多种因素。 首先,公司的大小与复杂性是影响公司发展的主要原因。大型企业在进行等保评估时,往往会花费较长的时间,因为他们的信息系统比较庞大、复杂。同时&…

国标GB/T 28181详解:国标GBT28181-2022的目录通知流程

目录 一、定义 二、作用 1、实时同步设备目录状态 2、优化资源管理和调度 3、增强系统的可扩展性和灵活性 4、提高系统的可靠性和稳定性 5、支持多级级联和分布式部署 6、便于用户管理和监控 三、基本要求 1、目录通知满足以下基本要求 2、关键要素 (1…

探索AIGC治愈系创作:Stable Diffusion 带你轻松复刻某书爆款动漫卡通文案!

hello,大家好我是安琪! 情感治愈类一直是受众群体很高非常火爆的赛道,安琪也关注到在某书平台上,漫画治愈类风格的内容也是非常的受欢迎。先来看看以下一些案例 看看这几个账号内容的质量就可以看出该部分内容是很受欢迎的&#x…

Oracle 19C19.3 rac安装并RU升级到19.14

19C支持RU补丁安装。 下载好19.14的RU补丁 [rootrac1 soft]# ll total 9830404 -rw-r--r-- 1 grid oinstall 3059705302 Jun 18 15:26 LINUX.X64_193000_db_home.zip -rw-r--r-- 1 grid oinstall 2889184573 Jun 18 15:27 LINUX.X64_193000_grid_home.zip -rw-r--r-- 1 grid …

java设计模式(七)适配器模式(Adapter Pattern)

1、模式介绍: 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换成客户希望的另外一个接口。适配器模式通常用于需要复用现有的类,但是接口与客户端的要求不完全匹配的情况。它包括两种形式&…

通过CDS View读取HANA View

HANA View在HANA 数据库层,CDS View在​ABAP层。那我们可以用CDS view直接读取HANA View​。在CDS View里还可以加些​逻辑。 ​具体怎么做呢? 首先你有了一个HANA的calculation view。这个calculation view, 它是可以被HANA SQL访问的&#…

【新闻】技术工种魅力大增,美国Z世代职场新出路

美国需要更多水管工,Z世代正在响应这一号召。 长期受到劳动力短缺困扰的技工行业,如今对美国最年轻的就业群体产生新的吸引力,他们中许多人正选择放弃读大学。随着从焊接到机械加工等领域出现技术迭代,薪资正在上涨,这…

DV SSL证书如何升级到OV SSL 证书

随着互联网的发展和用户对数据安全性的关注,越来越多的网站开始采用SSL证书来保护用户的隐私和数据。在选择SSL证书时,有些网站可能会首先选择经济实惠的DV(域名验证)证书,但随着业务的发展和用户需求的增加&#xff0…

人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命

随着科技的浪潮不断向前推进,人工智能(AI)正以惊人的速度重塑着我们的世界,特别是在创意产业的核心领域——UI设计与视频剪辑中,AI正逐步成为驱动行业创新与变革的关键力量。在这个AI技术全面开花的新时代,…

Python学习01

一、课程简介 1、学习目标 2、学习成果 二、初识python-python介绍 python程序员 python的创始 python语言的优点 三、初始python-软件安装 0、软件安装 1、程序编译 2、python解释器的安装 官网地址:Welcome to Python.orgThe official home of the Python Progr…

数字人源头工厂是骗局吗?数字人源码部署内幕曝光!

随着数字人应用的不断普及,其行业前景和发展潜力也逐渐展现在了在人们的眼前,连带着数字人源头工厂和数字人系统源码部署的热度也也持续飙升。不过,就目前的市场情况来看,绝大多数数字人源头工厂部署出的数字人系统源码都不尽人意…

创意学生木工工具——木工锯床

开展创意木工课程丰富了学校的课程多样性,强化了实践教育,并实现了跨学科的融合,在教育理念方面,创意木工课程强调了学生的主体地位,注重了学生的全面发展,并倡导了实践育人的理念,培养学生的综…

字节码编程ASM之两数之和

写在前面 源码 。 看下如何使用ASM来写如下的类: package com.dahuyou.demo.asm;public class AsmSumOfTwo {public AsmSumOfTwo() {}public static void main(String[] var0) {int var1 (new AsmSumOfTwo()).sum(1, 2);System.out.println(var1);}public int su…

单段时间最优S型速度规划算法

一,背景 在做机械臂轨迹规划的单段路径的速度规划时,除了参考《Trajectory Planning for Automatic Machines and Robots》等文献之外,还在知乎找到了这位大佬 韩冰 写的在线规划方法: https://zhuanlan.zhihu.com/p/585253101/e…

ChatGPT自媒体创作秘籍:高效生成优质文章和视频

在这个信息爆炸的时代,自媒体已经成为人们获取信息、表达观点和分享生活的重要途径。而作为自媒体创作者,如何高效地生成优质内容,吸引更多的关注和互动,是每一个创作者都在思考的问题。今天,我将为大家分享利用ChatGP…

ComfyUI+PhotoMaker|一键创造个性化人物形象

ComfyUI和PhotoMaker,两款引领AI图像编辑潮流的软件,以其强大的功能和便捷的操作,深受广大艺术爱好者和专业人士的喜爱。本文将带你深入了解ComfyUI和PhotoMaker的结合使用,助你轻松打造个性化人物形象,让你的作品更加…

海富泰可直动式比例阀控制器EVRD-03C26SB-C1D24-B00

控制EVOTEK海富泰可直动式及先导式比例方向阀EVRD-03A04SA-C1D24-V00、EVRD-03C08SB-C1D24-B00、EVRD-03A16SA-C1D24-V00、EVRD-03C26SB-C1D24-B00、EVRD-05A30SA-C1D24-V00、EVRD-05C60SB-C1D24-B00、EVRD-P05A80SA-IIC1D24-B00、EVRD-P07C100SB-EEC1D24-V00、EVRD-P07A150SA-…