需要下载工具箱,我下载的是:LSSVMlabv1_8_R2009b_R2011a,网上随便一搜就可以下载到。
参数gam选取
clc
clear all
%% 导入数据
load('S_Data.mat') % 预测S含量所用数据
n = 12; % n 是自变量的个数
m = 1; % m 是因变量的个数
%% 读取训练数据
train_num = 1600; %训练样本数
train_Data = S_Data(1:train_num,:);
% 特征值归一化
[train_Input,minI,maxI] = premnmx(train_Data(:,1:n)');
% 构造输出矩阵
[train_Output,minO,maxO] = premnmx(train_Data(:,n+1:end)');
%% 读取测试数据
test_Data = S_Data(train_num+1:end,:);
% 特征值归一化
test_Input = tramnmx(test_Data(:,1:n)',minI,maxI);
% 构造测试输出矩阵
test_Output = tramnmx(test_Data(:,n+1:end)',minO,maxO);
% 选取合适的参数gam
RMSE = [];
Gam = 1:10:200;
sig = 600;
for q = 1:20
gam = Gam(1,q);
tic; %计时开始
% 用trainlssvm()函数对训练数据进行训练
[alpha,b] = trainlssvm(train_Input',train_Output',gam,sig);
SVMtest_Output = simlssvm(test_Input',train_Input',alpha,b,sig);
toc; %计时结束
test_Output = postmnmx(test_Output,minO,maxO);
SVMtest_Output = postmnmx(SVMtest_Output,minO,maxO);