SSA优化朴素贝叶斯分类预测(matlab代码)

SSA-朴素贝叶斯分类预测matlab代码

麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发。

数据为Excel分类数据集数据。

数据集划分为训练集、验证集、测试集,比例为8:1:1

模块化结构:代码按照功能模块进行划分,清晰地分为数据准备、参数设置、算法处理块和结果展示等部分,提高了代码的可读性和可维护性。

数据处理流程清晰:对数据进行了标准化处理,包括Zscore标准化,将数据分为训练集、验证集和测试集,有助于保证模型训练的准确性和可靠性。

模型评估: 代码中通过十折交叉验证等方法评估了模型的性能,计算了训练集、验证集和测试集的准确率,并输出了十折验证准确率和运行时长。此外,还通过绘制分类情况图和混淆矩阵对模型的分类效果进行了可视化展示,帮助更直观地了解模型的性能和分类结果。

结果可视化: 通过绘制通过绘制SSA寻优过程收敛曲线、分类情况图和混淆矩阵,直观展示了模型的分类效果,有助于对模型性能进行直观分析和比较。

输出定量结果如下:

十折验证准确率:0.96748

训练集ACU:0.98374

验证集ACU:1

测试集ACU:1

运行时长: 2.128

代码有中文介绍。

代码能正常运行时不负责答疑!

代码运行结果如下:

部分代码如下:
% 清除命令窗口、工作区数据、图形窗口、警告
clc;
clear;
close all;
warning off;
load('data.mat')		
data1=readtable('分类数据集.xlsx'); %读取数据 	
data2=data1(:,2:end); 	
data=table2array(data1(:,2:end));	
data_biao=data2.Properties.VariableNames;  %数据特征的名称		
A_data1=data;	
data_biao1=data_biao;	
select_feature_num=G_out_data.select_feature_num1;   %特征选择的个数	
index_name=data_biao1;	
print_index_name=[]; 	
[B,~] = lasso(A_data1(:,1:end-1),A_data1(:,end),'Alpha',1); 	
L_B=(B~=0);   SL_B=sum(L_B); [~,index_L1]=min(abs(SL_B-select_feature_num)); 	
feature_need_last=find(L_B(:,index_L1)==1);  	
data_select=[A_data1(:,feature_need_last),A_data1(:,end)];	
feature_need_last=find(L_B(:,index_L1)==1);	
	
for NN=1:length(feature_need_last) 	
   print_index_name{1,NN}=index_name{1,feature_need_last(NN)};	
end 	
disp('选择特征');disp(print_index_name)  	
	
	
	
%% 数据划分	
x_feature_label=data_select(:,1:end-1);    %x特征	
y_feature_label=data_select(:,end);          %y标签	
index_label1=randperm(size(x_feature_label,1));	
index_label=G_out_data.spilt_label_data;  % 数据索引	
if isempty(index_label)	
   index_label=index_label1;	
end	
spilt_ri=G_out_data.spilt_rio;  %划分比例 训练集:验证集:测试集	
train_num=round(spilt_ri(1)/(sum(spilt_ri))*size(x_feature_label,1));          %训练集个数	
vaild_num=round((spilt_ri(1)+spilt_ri(2))/(sum(spilt_ri))*size(x_feature_label,1)); %验证集个数	

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java毕业设计 基于SSM网上花店 订花系统 在线花店

Java毕业设计 基于SSM网上花店 订花系统 在线花店 SSM jsp 网上花店 订花系统 在线花店 功能介绍 前端用户:首页 图片轮播 搜索 登录 注册 鲜花分类 分类显示 折扣花束 热销花束 花卉列表 花卉详情 收藏 加入购物车 评价 活动公告 公告详情 买家留言 我的购物车 购…

Linux编程4.9 网络编程-建立连接

1、TCP的连接与断开 三次握手与四次挥手 2、服务器端并发性处理 2.1 多进程模型 一个父进程,多个子进程父进程负责等待并接受客户端连接子进程: 完成通信,接受一个客户端连接,就创建一个子进程用于通信。 2.2 多线程模型 多线程服务器是…

5 Redis主从集群

文章目录 Redis主从集群1.1主从集群搭建1.1.1 伪集群搭建与配置1.1.2 分级管理1.1.3 容灾冷处理 1.2主从复制原理1.2.1 主从复制过程1.2.2 数据同步演变过程 2.1 哨兵机制实现2.1.1 简介2.2.2 Redis 高可用集群搭建2.2.3 Redis 高可用集群的启动2.2.4 Sentinel 优化配置 3.1 哨…

XshellPlus V7.0.0033r 绿化便携版

Xshell,最好用的Linux远程连接工具,最强大的SSH终端管理器、SSH远程主机连接客户端 。Xshell,轻松管理远程服务器,会话管理器,支持多选项卡管理主机,支持远程协议Telnet、Rlogin、SSH/SSH PKCS#…

Springboot+vue的船舶维保管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的船舶维保管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller&#xff09…

备战秋招(coding篇)

其中coding题目来源于师兄面试经验 1、链表的结构体反转链表 本质上就是一个构造函数 struct ListNode{int val_;ListNode* next_;ListNode() : val_(0), next_(NULL) {}ListNode(int x) : val_(x), next_(NULL) {}ListNode(int x, ListNode* next) : val_(x), next_(next) …

我的保研材料全部损坏了!这个压缩包文件格式未知或数据已经被损坏不可预料的压缩文件末端

求助各位友友,我的保研材料全部没了! 之前为了清理D盘,把之前保研期间准备的几个G的材料全部压缩放在了U盘,但是现在却损坏打不开了,之前为了省事也没有添加过“恢复记录”!!! 先声…

什么是状态压缩DP???

1. 引言 相信大家已经对普通的01背包或者其他背包问题已经很熟练了,但是有时候我们去解决NP问题(指数级别的复杂度,比如N!),时间复杂度就会非常之大 所以,这个时候我们需要寻找更加优化的方法…

数据结构算法 - 数组 Array

一、概念 结构是一种线性表(元素排列成直线的结构),创建数组会开辟一块连续的内存空间,长度固定无法更改,元素可以重复且只能是同一种类型(Object类型数组除外)。优点查询快:由于元…

对话奇酷网络董事长吴渔夫: 迟到的游戏公司会被AI浪潮卷入海底

“ 迟到的游戏公司会被无形的 AI 浪潮卷入海底。” 整理 | 梦婕 编辑 | 云舒 出品|极新 2024年3月4日,在极新与吴渔夫的对话中,吴渔夫多次呼吁“全力拥抱AI”。在这场AI浪潮中,作为中国网游的先锋,他带着 25 年“中…

外包干了1个月,技术明显进步。。。

我是一名大专生,自19年通过校招进入湖南某软件公司以来,便扎根于功能测试岗位,一晃便是近四年的光阴。今年8月,我如梦初醒,意识到长时间待在舒适的环境中,已让我变得不思进取,技术停滞不前。更令…

GraalVM:新一代跨语言虚拟机的崛起

有朋友后台私信让聊聊GraalVM,目前这玩意我只自己尝鲜搞过,没搞过线上,后续有机会会补充个实践 其实,随着信息技术的快速发展,编程语言多样化已成为软件开发领域的常态。为了满足不同编程语言间的互操作性和性能需求&a…

Java特性之设计模式【组合模式】

一、组合模式 概述 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式&#x…

隐私计算实训营学习一:数据可信流通,从运维信任到技术信任

文章目录 一、数据可信流通二、数据可信流通的技术信任基础三、技术信任开启数据密态时代,保障广域数据可信流通 一、数据可信流通 可信数据流通体系:数据二十条第一次明确提出可信流通,建立数据来源可确认、使用范围可界定、流通过程可追溯…

金融知识分享系列之:支撑阻力

金融知识分享系列之:支撑阻力 一、支撑阻力原理二、支撑阻力作用1.识别市场资金的预期2.作为入场和平仓的重要参考 三、寻找支撑阻力四、延伸思考五、支撑阻力总结 一、支撑阻力原理 支撑阻力核心要素: 锚定效应订单驱动 支撑阻力原理: 市…

在DevEco Studio中第一次使用网络图片不显示问题

当我们新建项目 第一次使用网络图片 没有显示时 加这段代码就可以了 如果刷新图片还是没有显示 就重启编辑器。 "requestPermissions": [{"name": "ohos.permission.INTERNET"}],

>>Vue3+pinia+echarts等实现疫情可视化大图

一.>>前言 1.这个项目是在小满实战篇可视化(第九章-饼图)_哔哩哔哩_bilibili 这一系列课程为基础来做的,真的很感谢小满老师,讲的内容干货满满,暂时解决了手上没有项目的难题。大家可以去观摩一下他的优质课程。…

WT32-ETH02 plus 串口转以太网开发,WT32-ETH01网关开发板升级款!

广受欢迎的WT32-ETH01网关开发板迎来了升级。 就是这款启明云端新推出的嵌入式串口转以太网开发板——WT32-ETH02 plus。应广大客户的需求,在WT32-ETH01的基础上增加了POE供电,可广泛应用于智能家居和网关等应用。开发板搭载2.4GHz Wi-Fi和蓝牙双模的SO…

PyTorch 深度学习(GPT 重译)(五)

十二、通过指标和增强改进训练 本章涵盖 定义和计算精确率、召回率以及真/假阳性/阴性 使用 F1 分数与其他质量指标 平衡和增强数据以减少过拟合 使用 TensorBoard 绘制质量指标图 上一章的结束让我们陷入了困境。虽然我们能够将深度学习项目的机制放置好,但实…

shell编程入门(笔记)

1、shell编程基础: 1.1、shell的解释执行功能 1.2、什么是shell程序? 1.3、shell程序编程的主要内容 1.4、shell程序的第一行 1.5、变量要求 1.6、环境变量和只读变量 1.7、位置参量 1.8、位置参量列表 1.9、数组 2、输入输出 2.1、输入-read命令 2.2…