SVM及其实践2 --- 对典型数据集的多分类实践

news2024/11/23 22:12:44

说明

    本文为SVM系列的第二篇文章,主要是基于SVM对两份公开数据集的分类实践。建议读者在阅读本文前先看看本系列的第一篇博文[1]:  SVM及其实践1 --- 概念、理论以及二分类实践-CSDN博客

Blog

2024.10.6 本文第一次撰写

目录

说明

目录

一、Iris数据集以及基于SVM对该数据集的分类实践

1.1 Iris数据集介绍

1.2 基于SVM对Iris数据集的分类实践

二、Glass数据集以及基于SVM对该数据集的分类实践

2.1 Glass数据集介绍

2.2 基于SVM对Glass数据集的分类实践

三、总结

四、参考资料

五、数据和参考代码


一、Iris数据集以及基于SVM对该数据集的分类实践

1.1 Iris数据集介绍

    Iris(鸢尾花卉数据集)我在之前关于聚类的博文[2] (毫米波雷达数据处理中的)聚类算法(2)–DBSCAN算法及其实践-CSDN博客 中对其有过比较详细的介绍和聚类实践,读者可以去这篇博文中了解,这里不再做细节的介绍,该数据集的下载读者可以去网站[3] UCI Machine Learning Repository 下载(这里面还有很多其它的数据集,后文的Glass数据集也可以在这里面下载!)。

    该数据集一共有3类,包含150个样本,每个样本有4个属性,其物理意义是:花萼长度、花萼宽度、花瓣长度、花瓣宽度,我们需要基于这四个属性对样本进行分类。

1.2 基于SVM对Iris数据集的分类实践

    分别使用线性核、多项式核、高斯核、sigmoid核对其进行训练(我只是在参数设置中分别选取了这几种核函数,其它的参数都为默认状态)。为了更好地展示准确率,我设计了1000次蒙特卡罗试验(关于蒙特卡罗试验,我再之前写过一篇博文[4],感兴趣的读者可以去查看),每次试验下都对数据进行一次随机排布,然后选取前面60%的数据作为训练集,选取后面40%的数据作为测试集。得到的结果如下:

图1.1  不同核SVM下的分类准确率

    图中垂直于X轴的线段对应1000次仿真下的准确率变化范围,空心菱形对应的位置为均值。从结果上来看线性核的效果最好,sigmoid核效果最差,不过考虑到我其它参数都设置为默认,所以可调(可优化)参数还有很多,这并不意味着线性核性能最好。

    读者可以基于LIBSVM给的函数说明文档,去做一些不同超参数下的尝试,以优化得到更好的分类效果。

二、Glass数据集以及基于SVM对该数据集的分类实践

2.1 Glass数据集介绍

    该数据集也可以从[3]中下载,我下载到的该数据一共214组,分6类,每个数据包含9个属性,更具体的信息读者可以从[3]中获取。

2.2 基于SVM对Glass数据集的分类实践

    处理的方法与对Iris数据集的处理类似:设计了1000次蒙特卡罗试验,每次试验下都对数据进行一次随机排布,然后选取前面60%的数据作为训练集,选取后面40%的数据作为测试集。得到的结果如下:

图1.2  不同核SVM下的分类准确率

    效果似乎都不是很理想,需要做一些超参数(比如高斯核函数中的γ值,默认下该值为0,但是我们可以通过调整该值来获得不一样的效果)调优的工作。关于调优,一种容易想到方法是:可以构建循环,对参数设置特定的步进,每个值下都进行多次训练和测试,得到一个分类准确率的均值,随后通过比较,得到最好准确率下的超参数值。

三、总结

    本文承接本系列第一篇博文[1]的内容,基于SVM对两个比较典型且简单(不需要我们做太多的数据预处理工作)的公开数据集进行了分类实践。至少从流程上跑通了关于SVM实践的整个过程,分类的结果基本符合预期,不过还需要进一步优化超参数以提高模型的准确率。

四、参考资料

[1] SVM及其实践1 --- 概念、理论以及二分类实践-CSDN博客

[2](毫米波雷达数据处理中的)聚类算法(2)–DBSCAN算法及其实践-CSDN博客

[3] UCI Machine Learning Repository

[4] 关于蒙特卡罗方法及其在信号处理中的应用-CSDN博客

五、数据和参考代码

本文的代码和本系列第一篇博文[1]中相关的代码我一并打包如下:

SVM及其实践系列博文对应的数据和代码资源-CSDN文库

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

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

相关文章

Qt-链接数据库可视化操作

1. 概述 Qt 能够支持对常见数据库的操作,例如: MySQL、Oracle、SqlServer 等等。 Qt SQL模块中的API分为三层:驱动层、SQL接口层、用户接口层。 驱动层为数据库和SQL接口层之间提供了底层的桥梁。 SQL接口层提供了对数据库的访问&#xff0…

【源码+文档+调试讲解】基于安卓的小餐桌管理系统springboot框架

摘 要 相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低运营人员成本,实现了小餐桌的标准化、制度化、程序化的管理,有效地防止了小餐桌的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修…

vue+ElementUI—实现基础后台管理布局(sideBar+header+appMain)(附源码)

后台管理的模板很多,vue本身就提供了完整的vue-template-admin,vue-admin-beautiful等后台管理系统化框架,但是这些框架正是因为成体系而显得繁重。假如你想搭建一个静态的后台管理模板页面和几个单独的菜单页面,直接就上框架是否…

学习 PostgreSQL + Spring Boot 3 +mybatisplus整合过程中的报错记录

今天计划学习 PostgreSQL,并顺便尝试使用 Spring Boot 3.x 框架,打算整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus。整合后一直出现以下报错: 去AI上面搜了讲的是sqlSessionFactory 或 sqlSessionTemplate 没有正确配置 初始分析&#…

MySQL-01.课程介绍

一.什么是数据库 二.数据库产品 三.课程安排

Python_函数式编程核心(高阶函数、闭包等)

函数式编程(functional programming)其实是个很古老的概念,诞生距今快60年啦!最古老的函数式编程语言Lisp新出现的函数式编程语言:比如Erlang、Scala、clojure等热门语言:Python、java、JavaScript、C等都增加了函数式编程的一些特…

SpringBoot购物推荐网站开发:架构设计与技术实现

3系统分析 3.1可行性分析 通过对本东大每日推购物推荐网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本东大每日推购物推荐网站采用JAVA作为开发语言&…

SpringBoot框架下购物推荐系统的架构与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

VSCode搭建C/C++开发环境【Windows】

VSCode搭建C/C开发环境 1. 配置C/C开发环境1.1 下载和配置MinGW-w64编译器套件1.2 安装C/C插件 2. 在VSCode上编写C语言代码,并编译执行2.1 先打开一个文件夹,写一份C语言代码2.2 设置C/C编译的选项:c_cpp_properties.json2.3 创建执行任务&a…

CDGA|数据治理:唤醒“沉睡”的数据,激发无限价值潜能

在当今这个信息爆炸的时代,数据已成为企业最宝贵的资产之一。然而,许多企业面临着数据孤岛、数据质量低下、数据利用率不高等问题,导致大量“沉睡”的数据未能发挥其应有的价值。数据治理,作为解锁这些数据宝藏的钥匙,…

连夜爆肝收藏各大云服务新老用户优惠活动入口地址(内含免费试用1个月的地址),适用于小白,大学生,开发者,小企业老板....

具体请前往:云服务器优惠活动入口大全--收藏各主流云厂商的云服务器等系列产品的优惠活动入口,免费试用1个月活动入口,让新老用户都能根据使用场景和身份快速锁定优惠权益 经济下滑,被优化增多,大学生就业难&#xff0…

Linux之如何找回 root 密码?

1、启动系统,进入开界面,在界面中按“e"进入编辑界面 2、进入编辑界面,使用键盘上的上下键把光标往下移动,找到以”Linux16“开通内容所在的行数,在行的最后面输入:init/bin/sh 3、输入完成后&…

Windows,MySQL主从复制搭建

前提:windows环境,同一个服务器安装多个相同版本的mysql数据库 多个MySQL服务搭建完成后,下面我们进行主从复制的相关配置 1.主数据库 执行指令 #创建用户 CREATE USER slavelocalhost IDENTIFIED BY 123456;#授权 GRANT REPLICATION SLA…

plpo vue实战版教程

vue实战版教程 什么是plpo安装1.将plop添加到您的项目2.全局安装plop(可选,但建议使用方便)3.在项目根目录下创建一个 plopfile.js vue 实战(后台管理系统 - 增删改查)所需文件文件介绍创建配置文件 plopfile.js创建模板和脚本命令文件模板创…

Emu3:北京智源推出AI多模态世界模型,超越DeepMind和微软,刷新了8项性能指标

Emu3是北京智源人工智能研究院推出的一款原生多模态世界模型,采用智源自研的多模态自回归技术路径,在图像、视频、文字上联合训练,使模型具备原生多模态能力,实现图像、视频、文字的统一输入和输出。Emu3将各种内容转换为离散符号…

食堂校园预约就餐系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,商品管理,论坛管理,用户管理,商家管理,公告信息管理,基础数据管理 微信端账号功能包括:系统首页&#xf…

【Flutter、H5、Web?前端个人总结】分享从业经历经验、自我规范准则,纯干货

前言 hi,正式接触web前端已经经过了两年的时间,从大学的java后端转型到web前端,再到后续转战Flutter,逐渐对前端有了一些心得体会,其实在当下前端的呈现形式一直在变化,无论你是用原生、还是web还是混编的…

vulnhub-Kioptrix_Level_1靶机的测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、解决检测不到IP的问题 2、信息搜集 3、利用exp ①mod_ssl2.8版本漏洞 ②smb2.2版本漏洞 四、结论 一、测试环境 1、系统环境 渗透机:kali2021.1(192.168.202.134) 靶 机…

【前端构建】Webpack: 现代前端开发的核心工具

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Webpack: 现代前端开发的核心工具1. 引言2. Webpack 的核心概念2.1 入口&#x…

vmware下ubuntu18.04中使用笔记本的摄像头

步骤1:在windows中检查相机状态 win10系统中,在左下的搜索栏,搜索“相机”,点击进入即可打开相机,并正常显示图像。 注意:如果相机连接到了虚拟机,则不能显示正常。 步骤2:…