%% Whale Optimization Algorithm (CSA_SVM)
clear, clc, close;
%% 读取数据
res = xlsread('data.xls');
feat = res(1:end,1:21);
label =res(1:end,22);
%% 设置迭代次数
test_num = 5;
%% 设置接收准确率的数组
train_acc=zeros(1,test_num);
test_acc=zeros(1,test_num);
%% 设置接收适应度的数组
value_fit = rand(test_num,100);
%% 设置接收选择最佳子集的索引的数组
s_idx = zeros(test_num,test_num);
%% 设置接收选择最佳子集个数
bf_num=zeros(1,test_num);
tic
for i =1:test_num
fprintf('\n 这是第%d次测试',i);
%% SVM超参数参数
opts.c = 4.0;
opts.g = 0.8;
%% 验证集比例
ho = 0.2;
%% 公共参数
opts.N = 30; % number of solutions %种群数
opts.T = 100; % maximum number of iterations
%% CSA参数
opts.AP = 0.1; % awareness probability
opts.fl = 1.5; % flight length
%% 划分数据集
HO = cvpartition(label,'HoldOut',ho);
opts.Model = HO;
%% 返回选取的特征
FS = jfs('csasvm',feat,label,opts);
%% 返回特征索引
sf_idx = FS.sf;
s_idx(i,1:length(sf_idx)) = sf_idx;
%% 返回最佳子集个数
bf_num(i) = FS.nf;
%% 计算准确率
[train_Acc, test_Acc, PX, PY, Auc] = jknn(feat(:,sf_idx),label,opts);
train_acc(i) = train_Acc;
test_acc(i) = test_Acc;
%% 适应度值
value_fit(i,:)=FS.s;
end
%% 绘制图像
figure
plot(FS.s); grid on;
xlabel('Number of Iterations');
ylabel('Fitness Value');
title('CSASVM');
%% 绘制 ROC 曲线
figure
plot(PX, PY, '-');
xlabel('CSAlse Positive Rate (FP / N)');
ylabel('True Positive Rate (TP / P)');
title(['ROC Curve (AUC = ', num2str(Auc), ')']);
%% 输出运行时间
time = toc;
fprintf('\n测试时间 %f',time)
%% 输出准确率
fprintf('\n CSASVM训练集准确率平均值: %g %% ',100 *mean(train_acc));
fprintf('\n CSASVM测试集准确率平均值: %g %%',100 *mean(test_acc));
%% 输出筛选特征个数 最差 最好 平均 方差
fprintf('\n CSASVM选择特征的最多个数: %d ',max(bf_num));
fprintf('\n CSASVM选择特征的最少个数: %d ',min(bf_num));
fprintf('\n CSASVM选择特征的平均个数: %d ',mean(bf_num));
fprintf('\n CSASVM选择特征的方差个数: %d \n', std(bf_num));
%% 统计每个特征被选择的次数
for d = 1:size(feat,2)
% 使用逻辑索引统计整数出现的次数
count = sum(s_idx(:)== d);
disp(['特征 ', num2str(d), ' 出现的次数为:', num2str(count)]);
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
智能优化特征选择-基于CSA乌鸦优化的特征选择分类算法KNN和SVM分类器(matlab程序) 1.程序功能已完成调试,用户可以通过一键操作生成图形和评价指标。 2.数据输入以Excel格式保存,只需更换文件,即可运行以获得个人化的实验结果。 3.代码中包含详细注释,具有较强的可读性,特别适合初学者和新手。 4.在实际数据集上的效果可能较差,需要对模型参数进行微调。
资源推荐
资源详情
资源评论
收起资源包目录
基于乌鸦搜索优化的特征选择分类算法.zip (11个子文件)
基于乌鸦搜索优化的特征选择分类算法
jCrowSearchAlgorithm.m 2KB
jCrowSearchAlgorithmSVM.m 2KB
jFitnessFunctionSVM.m 1KB
data.xls 215KB
CSA_SVM.m 3KB
CSA_KNN.m 2KB
jfs.m 393B
jsvc.m 1KB
jknn.m 958B
auc.m 752B
jFitnessFunction.m 1KB
共 11 条
- 1
资源评论
机器不会学习CL
- 粉丝: 3330
- 资源: 71
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript的表白代码项目源码.zip
- springboot vue3前后端分离开发入门介绍,分享给有需要的人,仅供参考
- 全国297个地级市城市辖区数据1990-2022年末实有公共汽车出租车数人均城市道路建成区绿地面积供水供气总量医院卫生机构数医生人数GDP第一二三产业增加值分行业从业人员水资源农产品产量利用外资
- Python客流量时间序列预测模型.zip
- 故障预测-灰色预测模型C++源码.zip
- python入门介绍,分享给有需要的人,仅供参考
- c语言入门教程,分享给有需要的人,仅供参考
- yolo入门教程,分享给有需要的人,仅供参考
- 158764节奏盒子Sprunki寄生虫10011000.apk
- 数据压缩领域的哈夫曼树实现与应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功