分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测

news2024/12/24 10:50:24

分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测

目录

    • 分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测
      • 分类效果
      • 基本介绍
      • 程序设计
      • 参考资料

分类效果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测(完整源码和数据),优化参数为,优化RBF核函数gam和sig,运行环境为Matlab2018及以上。
2.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换excel数据就可以用;
3.程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

  • 完整程序和数据获取方式资源处直接下载Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测(完整源码和数据)。
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  导入数据
res = xlsread('数据集.xlsx');
%% 划分训练集和测试集%
P_train = res(1: 250, 1: 12)';
T_train = res(1: 250, 13)';
M = size(P_train, 2);

P_test = res(251: end, 1: 12)';
T_test = res(251: end, 13)';
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);
t_train = T_train;
t_test  = T_test;

%% LS参数设置
type        = 'c';             % 模型类型 分类
kernel_type = 'RBF_kernel';    % 线性核函数
codefct     = 'code_OneVsOne'; % 一对一编码分类
fun = @getObjValue;  % 目标函数
dim = 2;             % 优化参数个数
ub  = [300, 300];  % 优化参数目标上限
lb  = [1, 1];   % 优化参数目标下限

pop = 8;             % 数量
Max_iteration = 20; % 最大迭代次数   


c = Best_pos(1);  
g = Best_pos(2);

%% 编码
[t_train,codebook,old_codebook] = code(t_train,codefct);

%% 建立模型
model = initlssvm(p_train,t_train,type,c,g,kernel_type,codefct); %SSA

%% 训练模型
model = trainlssvm(model);

%% 测试模型
t_sim1 = simlssvm(model,p_train);
t_sim2 = simlssvm(model,p_test); 



T_sim1 = T_sim1(index_1);
T_sim2 = T_sim2(index_2);
%% 性能评价
error1 = sum((T_sim1' == T_train))/M * 100 ;
error2 = sum((T_sim2' == T_test))/N * 100 ;

%% 优化曲线
figure
plot(curve, 'linewidth',1.5);
title('-LSSVM')
xlabel('The number of iterations')
ylabel('Fitness')
grid on;
%%  绘图
figure
plot(1: M, T_train, 'r-*', 1: M, T_sim1, 'b-o', 'LineWidth', 1)
legend('真实值', '-LSSVM预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['准确率=' num2str(error1) '%']};
title(string)
xlim([1, M])
grid

figure
plot(1: N, T_test, 'r-*', 1: N, T_sim2, 'b-o', 'LineWidth', 1)
legend('真实值', '-LSSVM预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比'; ['准确率=' num2str(error2) '%']};
title(string)
xlim([1, N])
grid

%%  混淆矩阵
figure
cm = confusionchart(T_train, T_sim1);
cm.Title = 'Confusion Matrix for Train Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
    
figure
cm = confusionchart(T_test, T_sim2);
cm.Title = 'Confusion Matrix for Test Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';

参考资料

[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501

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

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

相关文章

本地知识库搭建教程来了,跟着做就行

你是不是常常因为找不到几个月前那个重要的工作笔记而头疼?或者是厌倦了反复在互联网的海洋中搜寻相同的信息?一个本地的知识库可能是你需要的解决方案。今天,我就要为你分享如何简单地搭建起自己的知识库,让你的信息更有组织、更…

别等Sora了!字节跳动旗下国产AI工具Dreamina,AI视频生成虽不完美,但够惊艳!

别等 Sora 了,试试字节跳动的 Dreamina!Dreamina 是剪映旗下的一个 AI 创作平台,目前支持「文生图」、「智能画布」和「视频生成」功能。 Dreamina 官网:https://dreamina.jianying.com/ai-tool/home 之前对 Dreamina 的「文生图…

大数据------JavaWeb------JDBC(完整知识点汇总)

JDBC 定义 全称为Java数据库连接(Java DataBase Connectivity):是使用java语句来操作所有关系型数据库的一套API JDBC本质 它是官方定义的一套操作所有关系型数据库的规则(即接口),各个数据库厂商会去实现…

socat神器解密:网络数据传输的利器

欢迎来到我的博客,代码的世界里,每一行都是一个故事 socat神器解密:网络数据传输的利器 前言socat简介基本用法常见功能常见功能:1. 端口转发和数据重定向:2. 加密和解密数据流: 高级功能1. 代理服务器和隧…

Tomcat启动闪退的10个解决小技巧

引言 大家好!在我们日常开发中,使用Tomcat作为Web服务器是相当常见的。 然而,遇到Tomcat启动后立即闪退的问题也不是什么稀罕事。 这种情况可能会让人感到困惑和沮丧,特别是当你急需完成一个项目或者修复一个重要的bug时。 不过…

单链表的创建与修改

链表的分类: 链表可按照:1.双向,单向。2.循环,不循环。3.带头,不带头。 根据不同组合可分为8类。其中不带头单项不循环链表为单链表。 单链表的第一个节点为头节点: 节点的创建: 通过这样一…

2024 年排名前 5 的 CSS 框架

文章目录 1、Bootstrap2、Tailwind CSS3、Foundation4、Bulma5、UIKit 1、Bootstrap Bootstrap框架是由Twitter的设计师Mark Otto和Jacob Thornton合作开发的,于2011年8月在GitHub上发布。它是目前最受欢迎的前端框架之一,被广泛应用于各种Web项目中。Bo…

基于机器学习预测岗位薪资

本文根据某招聘网站抓取的岗位信息,来预测该岗位平均薪资。 数据预处理 数据示例如下: 因为本文重点介绍如何实现预测,因此对于数据的预处理部分讲解一下处理逻辑: 1、统一薪资的单位,要么统一为年薪(万/…

【Linux】序列化与反序列化{服客编程/守护进程/JSON}

文章目录 1.引入2. 静态成员函数3.TCP:传输控制协议4.守护进程4.0前台进程4.1介绍4.2认识4.3会话4.3ps axj4.4理解4.5/dev/null4.6守护进程和孤儿进程 5.JSON6.完整代码6.1Makefile6.2Socket.hpp6.3Protocol.hpp6.4Log.hpp6.5Daemon.hpp6.6TcpServer.hpp6.7Client.c…

PBXAI:将疾病预测转为沿知识图谱的随机游走

PBXAI:将疾病预测转为沿知识图谱的随机游走 PBXAI 知识图谱构建 病人特征与知识图谱连接 强化学习 疾病发展路径的生成PBXAI 流程PBXAI 算法设计 论文: https://arxiv.org/ftp/arxiv/papers/2010/2010.08300.pdf 代码:https://github.co…

NLP_知识图谱_介绍、构建、问答知识

文章目录 知识图谱的介绍图图能做些什么任务基于图的推荐系统图的一些基本概念与表述有向图与无向图节点的度节点的边的数量有向图又分为入度和出度 什么是知识图谱知识图谱属于异质图知识图谱的schema知识图谱的应用场景 知识图谱的构建三元组如何构建知识图谱构建知识图谱通常…

基于springboot+vue+Mysql的简历系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

C语言输出不同颜色的字体

本文章在Linux进行演示!!! 使用C语言输出不同颜色字体和背景 格式: printf("\033[字体背景颜色;字体颜色m字符串\033[0m"); 上边的 \033 也可以用 \e 来代替。 字体颜色与字符的对应关系 字符颜色30黑色31红…

小白学视觉 | 各种各样神奇的自注意力机制(Self-attention) 建议收藏!

本文来源公众号“小白学视觉”,仅用于学术分享,侵权删,干货满满。 原文链接:收藏!各种各样神奇的自注意力机制(Self-attention) 编者荐语 文章总结了关于李宏毅老师在 2022 年春季机器学习课…

MAC(M1芯片)编译Java项目慢且发热严重问题解决方案

目录 一、背景二、排查三、解决四、效果以及结果展示五、总结 一、背景 使用idea编译项目等操作,经常性发热严重,并且时间慢。直到昨天编译一个项目用时30分钟,电脑温度很高,并且有烧灼的味道,于是有了此篇文章。 二、…

关于Jar包提示找不到主类 找不到或无法加载主类

关于Jar包提示找不到主类 找不到或无法加载主类 当时看到教程打包一个正常的小型增删改查为50MB,也就是几十MB,可我打包得到的Jar包只有几MB,一直提示找不到主类application。经检查 根据方法,只需使用mvn clean 和 mvn packa…

大米自动化生产线设备:现代粮食加工的核心力量

随着科技的不断进步和粮食加工行业的快速发展,大米自动化生产线设备在现代粮食加工中的地位愈发重要。这些设备不仅大大提高了生产效率,还保证了产品的质量和安全,成为了现代粮食加工行业不可或缺的核心力量。 一、自动化生产线设备助力效率提…

厂房起火3D消防灭火安全救援模拟演练

深圳VR公司华锐视点依托前沿的VR虚拟现实制作、三维仿真和图形图像渲染技术,将参训者带入栩栩如生的火灾现场。佩戴VR头盔,参训者将真切体验火势蔓延的紧张与危机,身临其境地感受火灾的恐怖。 并且消防安全VR虚拟现实演练系统精心模拟了住宅、…

基于单链表实现通讯管理系统!(有完整源码!)

​ 个人主页:秋风起,再归来~ 文章专栏:C语言实战项目 个人格言:悟已往之不谏,知来者犹可追 克心守己,律己则安! 1、前言 友友们,这篇文章是基于单链…

005Node.js模块URL的使用

引入 URL 模块 要使用 URL 模块,首先需要在代码中引入它。可以使用以下代码将 URL 模块导入到你的脚本中: const url require(url);实例代码 const urlrequire(url); var apihttp://www.baidu.com?nameshixiaobin&age20; console.log(url.parse(…