文档库 最新最全的文档下载
当前位置:文档库 › lssvm程序

lssvm程序

%LS-SVMh回归测试程序代码模板
%清空变量空间
clc;clear;close all
format compact
%程序代码计时开始
tic;
%数据导入
indata=load('D:\A组HB数据.txt')
%数据预处理
trainset=indata(1:7,1:4);
trainset_label=indata(1:7,5);
testset=indata(8:14,1:4);
testset_label=indata(8:14,5);
%归一化处理
[trainset,testset,ps] = scaleForLSSVM(trainset,testset,-1,1);
[trainset_label,testset_label,label_ps] = scaleForLSSVM(trainset_label,testset_label,-1,1);
%LS-SVM模型参数初始化
type = 'function estimation';
kernel = 'RBF_kernel';
preprocess='original';
gam = 100;
sig2 =0.1;
%交叉验证优化参数
model=initlssvm(trainset,trainset_label,type,gam,sig2,kernel,preprocess);
costfun = 'crossvalidatelssvm';
costfun_args = {10,'mse'};
optfun = 'gridsearch';
model=tunelssvm(model,optfun,costfun,costfun_args)
%进行模型训练
model = trainlssvm(model);
%回归预测
predictlabel = simlssvm(model,testset);
%数据反归一化
testset_label=mapminmax('reverse',testset_label,label_ps);
predictlabel=mapminmax('reverse',predictlabel,label_ps);
% 结果作图
plot(1:length(testset_label),testset_label,'r+:',1:length(predictlabel),predictlabel,'bo:')
title('+为真实值,o为预测值')
%程序运行计时结束
toc;

相关文档