分类预测 | Matlab实现BES-RF秃鹰搜索算法优化随机森林多特征分类预测

分类预测 | Matlab实现BES-RF秃鹰搜索算法优化随机森林多特征分类预测

效果一览

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

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

基本介绍

1.Matlab实现BES-RF秃鹰搜索算法优化随机森林多特征分类预测,二分类及多分类预测,显示模型迭代误差、预测和真实对比、混淆矩阵图,运行环境Matlab2018b及以上;

2.秃鹰搜索算法优化随机森林树木棵树和森林深度,输入12个特征,分四类,可视化展示分类准确率,模型对比输出,可在下载区获取数据和程序内容。

3.excel数据集,main为主程序,其他为函数文件,无需运行。

注:程序和数据放在一个文件夹。

在这里插入图片描述

程序设计

  • 完整程序和数据下载私信博主回复Matlab实现BES-RF秃鹰搜索算法优化随机森林多特征分类预测

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%%  读取数据
res = xlsread('数据集.xlsx');

%% 划分训练集和测试集%
P_train = res(1: 260, 1: 12)';
T_train = res(1: 260, 13)';
M = size(P_train, 2);

P_test = res(261: end, 1: 12)';
T_test = res(261: end, 13)';
N = size(P_test, 2);

f_ = size(P_train, 1);               % 特征维度
num_class = length(unique(res(:, end)));  % 类别数(Excel最后一列放类别)   

%%  数据转置
% P_train = P_train'; P_test = P_test';
% T_train = T_train'; T_test = T_test';

%% 数据归一化
[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 ;

%%  转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%%  参数初始化
pop=6; %种群数量
Max_iter=20; %  设定最大迭代次数
dim = 2;% 维度为2,即优化两个超参数
lb = [1,1];%下边界
ub = [10,f_];%上边界
fobj = @(x) fun(x, p_train, t_train);
[Best_pos,curve,~]=BES(pop,Max_iter,lb,ub,dim,fobj); %开始优化
%%  提取最优参数
n_trees = round(Best_pos.pos(1));
n_layer = round(Best_pos.pos(2));

%%  创建模型
model = classRF_train(p_train, t_train, n_trees, n_layer);
importance = model.importance; % 特征的重要性

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm=1001.2014.3001.5502

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器学习之心

谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值