%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
tic
%% 导入数据
P_train = xlsread('data','training set','B2:G191')';
T_train= xlsread('data','training set','H2:H191')';
% 测试集——44个样本
P_test=xlsread('data','test set','B2:G45')';
T_test=xlsread('data','test set','H2:H45')';
%% 划分训练集和测试集
M = size(P_train, 2);
N = size(P_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';
%% 参数设置
fun = @getObjValue; % 目标函数
dim = 2; % 优化参数个数
lb = [0.01, 0.01]; % 优化参数目标下限
ub = [ 100, 100]; % 优化参数目标上限
pop = 10; % 种群数量
Max_iteration = 20; % 最大迭代次数
%% 优化算法
[Best_score,Best_pos, curve] = PSO(pop, Max_iteration, lb, ub, dim, fun);
%% 获取最优参数
bestc = Best_pos(1, 1);
bestg = Best_pos(1, 2);
%% 建立模型
cmd = [' -t 2 ', ' -c ', num2str(bestc), ' -g ', num2str(bestg), ' -s 3 -p 0.01 '];
model = svmtrain(t_train, p_train, cmd);文章来源:https://www.toymoban.com/news/detail-433411.html
文章来源地址https://www.toymoban.com/news/detail-433411.html
到了这里,关于粒子群算法PSO优化支持向量机(PSO-SVM)的数据回归预测 matlab代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!