【MATLAB第38期】 MATLAB SSA-XGBOOST实现多分类预测,麻雀算法SSA优化XGBOOST模型超参数(多输入单输出数据)
在前面几期已更新XGBOOST安装教程,XGBOOST参数详细介绍,多输入单输出回归预测、多输入多输出回归预测以及多输入单输出二分类预测,本次介绍多输入单输出多分类预测。
一、效果展示
优化前
优化后
二、数据设置
357个样本,12输入,1输出
四分类标签【1-4】
70%训练,30%测试
数据不打乱(可选择打乱)
三、参数设置
1.XGBOOST默认参数
params.booster = 'gbtree'; % params.objective = 'binary:logistic'; params.objective = 'reg:linear'; params.max_depth = 5; params.eta = 0.1; params.min_child_weight = 1; params.subsample = 0.9; params.colsample_bytree = 1; params.num_parallel_tree = 1;
2.待优化参数
num_trees = round(parameter(1, 1)); params.max_depth = round(parameter(1, 2)); params.eta = parameter(1, 3);
dim = 3; % 优化参数个数 lb = [001, 001, 0.01]; % 优化参数目标下限(最大树节点,深度,学习率) ub = [ 50, 012, 0.1]; % 优化参数目标上限(最大树节点,深度,学习率)
3.SSA参数
pop = 5; % 种群数量 Max_iteration = 10; % 最大迭代次数
四、代码获取方式
后台私信回复“38”即可获取下载链接。