当前位置: 首页 > news >正文

改进智能优化算法常用指标一键导出为EXCEL,最优值,平均值,标准差,最差值,中位数,秩和检验,箱线图...

声明:对于作者的原创代码,禁止转售倒卖,违者必究!

为了突出改进智能优化算法的效果,常常会将改进的智能算法与其他算法进行对比。

在一些期刊论文中,经常会看到一个超级大的表格,统计着每个算法的平均值,标准差,最优值,最差值,中位数等指标,例如:

05cedcab34bc21719df3f322c06ebba5.png

还有的为了比较改进算法与对比算法的区别,会进行秩和检,例如:

46e840ad95b43f547f2dc8804be212fc.jpeg

还有一些论文为了更直观的表现会放上箱线图,例如:

a7794a359673b89f3bf054f8061c0377.png

然而如果一遍一遍的运行代码去手动统计,估计闪电侠都不会这么做吧!



今天就采用matlab工具,教大家直接一键完成统计,并导出EXCEL表格,同时绘制箱线图。

算法替换十分简单,只替换算法名字即可!测试集替换也十分简单!

本期以自适应螺旋飞行麻雀搜索算法(ASFSSA)(点击链接跳转,这个算法可以免费获取)为例,与蜣螂优化算法,麻雀优化算法,粒子群优化算法,灰狼优化算法进行对比。

将每个算法运行30次,在CEC2005函数中进行测试,一键统计最优值,平均值,标准差,中位数,最差值五个指标和秩和检验结果,同时绘制箱线图。

代码目录如下:

d832f414e5dee5e81b815ab6f636c3fb.png

其中plotCEC2005_Main.m还是往常的绘制算法对比图的程序,这个一直都有。

重点是:runsCEC2005_Main.m这个脚本,运行后可以一键生成ranksumresult.xls和result.xls两个excel。

其中ranksumresult.xls是秩和检验的结果统计,result.xls是五个指标的统计。结果如下:

ranksumresult.xls表格:

94566942e61622702615daf6c75e828d.png

result.xls表格:

6c52064ae64b69a955da7b2d79995373.png

程序中设置了可以选择是否绘制箱线图的代码,也可以一键更改。箱线图如下:

581eaf1216d3525c0ec02479b57b6f28.jpeg

部分代码展示

runsCEC2005_Main.m部分代码展示如下:

clear
clc
close all
addpath(genpath(pwd));
pop_size=50;   %种群数目
max_iter=500;   %迭代次数run = 30;
box_pp = 1;  %可选1,或者其他。当等于1,绘制箱型图,否则不绘制
RESULT=[];   %统计标准差,平均值,最优值等结果
rank_sum_RESULT=[];  %统计秩和检验结果if box_pp ==1figure('Name', '箱型图', 'Color', 'w','Position', [100 100 1400 700])
endfor func_num = 1:length(F)    %CEC2005有23个函数% Display the comprehensive resultsdisp(['F',num2str(F(func_num)),'函数计算结果:'])[lower_bound,upper_bound,variables_no,fhd]=Get_Functions_details(['F',num2str(F(func_num))]);resu = [];  %统计标准差,平均值,最优值等结果rank_sum_resu = [];   %统计秩和检验结果box_plot = [];  %统计箱型图结果……
end
%% 将秩和检验结果写入elcex中
B = string();
for i = 1:length(F)str = string(['F',num2str(F(i))]);B(i,1)= str;
end
B = cellstr (B);
B = [B,num2cell(rank_sum_RESULT)];
title = {" ","DBO","PSO","GWO","SSA"};% 秩和检验是和改进的算法做比较,因此这里没有改进的算法
B = [title;B];
xlswrite('ranksumresult.xls', B)%% 将标准差,平均值,最优值等结果写入elcex中
A = string();
A = cellstr (A);
A = [A,num2cell(RESULT)];
title = {" "," ","ASFSSA","DBO","PSO","GWO","SSA"};
A = [title;A];
xlswrite('result.xls', A)

代码获取

完整代码获取方式:后台回复关键字,不区分大小写。关键字:

统计

或者点击下方阅读原文跳转链接。

或者直接复制下方链接跳转:

 https://mbd.pub/o/bread/ZZWTm5pv

http://www.lryc.cn/news/188556.html

相关文章:

  • 在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)
  • 一站式解决方案:Qt 跨平台开发灵活可靠
  • 将cpu版本的pytorch换成gpu版本
  • Ubuntu安装QQ
  • 【Python】实现excel文档中指定工作表数据的更新操作
  • 力扣(LeetCode)2731. 移动机器人(C++)
  • vite和webpack
  • MinIO图片正常上传不可查看,MinIO通过页面无法设置桶为public
  • Linux 指令心法(七)`cat` 查看、合并和创建文本文件
  • 解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable
  • c,python ,java,c++ c#在控制台打印彩色文本
  • MySQL数据库技术笔记(5)
  • python生成随机数
  • Twitter优化秘籍:置顶、列表、受众增长
  • vscode更改为中文版本
  • 【Linux系统KVM虚拟机实战】LVM逻辑卷之磁盘扩容
  • 史上最全 结构型模式之 桥接 外观 组合 享元模式
  • KBU810-ASEMI高性能整流桥KBU810
  • uniapp快速入门系列(2)- Vue基础知识
  • mac(M1)安装anaconda3
  • vscode远程ssh服务器且更改服务器别名
  • 【算法笔记】LCR 086. 分割回文串
  • centos 安装svn
  • Java中的类加载器双亲委派模型机制
  • [spring] spring jpa - hibernate 名词解释配置
  • java判断字符串是否为时间格式
  • 【Java】什么是API
  • Hazelcast系列(三):hazelcast集成(服务器/客户端)
  • vscode 配置默认shell
  • 品牌低价的形式有哪些