鲸鱼算法(WOA)优化xgboost的分类预测模型,多输入单输出模型,WOA-xgboost分类预测。

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

%%  添加路径
addpath('xgboost_toolbox\')

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

%% 划分训练集和测试集%
num_dim = size(res, 2) - 1;               % 特征维度
num_class = length(unique(res(:, end)));  % 类别数(Excel最后一列放类别)

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 ;

%%  数据转置
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';

%%  参数设置
fun = @getObjValue;                 % 目标函数
dim = 3;                            % 优化参数个数
lb  = [10, 001, 0.01];              % 优化参数目标下限(最大迭代次数,深度,学习率)
ub  = [50, 012, 0.30];              % 优化参数目标上限(最大迭代次数,深度,学习率)
pop = 5;                            % 数量
Max_iteration = 20;                 % 最大迭代次数
max_sort = 5;                       % 类别数目(标签应从1开始,到max_sort截止)

你可能感兴趣的:(算法)