%% I. 清空环境变量
clear all
warning off
clc
close all
% restoredefaultpath
%% 导入数据
X = xlsread('input');
Y = xlsread('output');
%% 导入数据
% 训练集—
temp = randperm(size(X,1));%1代表多少行,2代表多少列,这块是打乱数据的函数.
P_train= X(temp (1:60),:)';%冒号代表取出来是整行或者整列,'代表转置
P_test = X(temp (61:end),:)';
M = size(P_train,2);
% 测试集—
T_train= Y(temp (1:60),:)';
T_test = Y(temp (61:end),:)';
N = size(T_test,2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% 数据转置
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%% 设置参数
num_trees = 100; % 树的数量
params.objective = 'reg:linear'; % 线性函数
params.max_depth = 5; % 最大深度
智能算法及其模型预测