www.pudn.com > Regpyrim.rar > Regpyrim.m


% 支持向量机用于函数拟合 - 必须选择最优参数 gam,sig2
% 工具箱:LS_SVMlab
% 使用平台:Matlab6.5


clc
close all
load pyrim.mat
%---------------------------------------------------
% 产生训练样本与测试样本

                  % X训练样本,每一列为一个样本
                  % 训练目标,行向量

Xt = X;           % 测试样本,每一列为一个样本
Yt = Y;           % 测试目标,行向量

%---------------------------------------------------
% 参数设置
type = 'f';
kernel = 'RBF_kernel';
gam = 100;              % Regularization parameter
sig2 = 0.01;            % Kernel parameter (bandwidth in the case of the 'RBF_kernel'
model = initlssvm(X,Y,type,gam,sig2,kernel);                    % 模型初始化

%---------------------------------------------------
% 交叉验证优化参数

%costfun = 'rcrossvalidate';
%costfun_args = {X,Y,10};
%optfun = 'gridsearch';
%model = tunelssvm(model,[],optfun,{},costfun,costfun_args);     % 模型参数优化 

%---------------------------------------------------
% 训练与测试

model = trainlssvm(model);  % 训练 
Yd = simlssvm(model,Xt);    % 回归

%---------------------------------------------------
% 结果作图

plot(1:length(Yt),Yt,'r+:',1:length(Yd),Yd,'bo:')
title('+为真实值,o为预测值')