最小二乘支持向量机(基于MATLAB)

需要下载工具箱,我下载的是: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);
   
评论 84
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值