lssvm回归 matlab,lssvm回归预测的程序运行不了 求高手修改指点

Error using tunelssvm>helpkernel (line 457)

kernel not supported

Error in tunelssvm (line 93)

[Y,omega] = helpkernel(model.xtrain,model.ytrain,model.kernel_type,[],0);

N = 80;n = 60; m = 10; nb = 60;  % N 为数据总数、n 为训练样本数、m 为嵌入维数、% nb 为预测步数

xt = [3.042

2.903

2.885

2.897

2.952

2.918

3.065

2.913

2.885

2.999

3.023

3.020

3.086

3.137

3.136

3.277

3.228

3.190

3.312

3.310

3.442

3.534

3.483

3.586

3.686

3.837

3.779

3.740

3.859

4.010

4.035

3.916

4.243

4.270

4.351

4.514

4.554

4.507

4.733

4.710

4.751

4.838

4.798

4.957

4.916

5.073

5.214

4.992

5.178

5.219

5.257

5.107

5.247

5.354

5.427

5.438

5.398

5.312

5.409

5.413

5.540

5.543

5.495

5.566

5.578

5.621

5.691

5.595

5.610

5.693

5.635

5.721

5.670

5.751

5.644

5.699

5.703

5.637

5.718

5.631];

X_train = xt( 1: n) ; X_test = xt( n + 1: N) ; % 训练样本与测试样本

% 生成训练样本输入矩阵 Xv _train 和输出向量 Yv_train

for i = 1: n-m   Xt( 1: m,i) = X_train ( i: m - 1 +i) ; end

Xv_train = Xt'; Yv_train = X_train( m + 1: n) ;% 生成测试样本输入向量 Xv_test 和输出向量 Yv_test

Xv1_test = xt( 1: n-nb) ; Yv1_test = xt ( n-nb + 1:n) ;

type = 'function estimation';

[gam,sig2]= tunelssvm( { Xv_train,Yv_train,type,[], [],' RBF _ kernel'} ,' simplex','leaveoneoutlssvm',{ 'mse'} ) ;

[alpha,b] = trainlssvm ( { Xv_train,Yv_train,type,gam,sig2,'RBF_kernel','original'} ) ;

ys = simlssvm ({ Xv_train,Yv_train,type,gam,sig2,'RBF_kernel'},{ alpha,b},Xv_train) ;

yp1 = predict ({ Xv_train,Yv_train,type,gam,sig2,'RBF_kernel','original'} ,Xv1_test,nb) ;

yt = X_train( 1: 50) ;

plot ( 1: length (X_train),X_train,' r - * ',1:length(ys),ys,'b: o') ;

title( { ' 最小二乘支持向量机预测',[' RBF',' \gamma = ',num2str ( gam),' \ sigma ^2 = ', num2str( sig2) ]} ) ; xlabel( 't/天');ylabel( '峭度因子 K') ;

hleg1 = legend( '实际值','LS-SVM 预测值',2) ;

% 均方差评价指标 MSE

D = ( yt-ys) .^2;

MSE = sqrt( sum( D( 1: length( D) ) ) ) /length( D) ;

% 平均相对误差指标 RME

D1 = abs ( ( yt-ys) / yt) ; RME = sum ( D1 ( ( 1:length( D1) ) ) ) / length( D1) ;

fprintf( 1,'MSE: % f \ n ',MSE ) ; fprintf ( 1,'RME: % f \ n ',RME) ;

一个想进行lssvm回归预测的程序,楼主matlab纯小白,看了一点点资料,感觉数据处理和参数设置(不知道怎么设置,应该设置多少)都有问题,但是不知道怎么调整,有大佬帮忙修改一下吗,谢谢了。用的64位2013a。附件有上传lssvm工具箱。

ab1c7ee18da4dfd6bd0e53ac6dfdfdba.gif

2018-4-22 20:18 上传

点击文件名下载附件

118.66 KB, 下载次数: 12

LSSVM回归希望对大家有用-源程序以及数据.rar 源代码 %% ==============清除代码窗口和工作空间=============== clc; clear; %% ==================下载数据======================= load surdata1.mat; load surdata2.mat; load wearvol.mat; load workcondition.mat; %% ==================训练数据======================== % 数据预处理 xx=surdata1'; yy=surdata2'; zz=wearvol; ww=workcondition; % 训练数据提取 X=ww; X=xx; Y=yy; %% =====================测试数据===================== Xt=ww; Xt=xx; %% =====================模型初始化===================== type = 'function estimation'; kernel = 'RBF_kernel'; gam = 100;                 % Regularization parameter sig2 = 0.01;              % Kernel parameter (bandwidth in the case of the 'RBF_kernel' % 寻优之后的参数 % gam =  0.0869335 ;                 % Regularization parameter % sig2 =  83.8678 ;              % Kernel parameter (bandwidth in the case of the 'RBF_kernel' %% =====================参数寻优====================== model = initlssvm;                 % 模型初始化 costfun = 'crossvalidatelssvm'; costfun_args = {10,'mse'}; optfun = 'gridsearch'; model = tunelssvm;   % 模型参数优化 %% ======================测试数据======================= model = trainlssvm;  % 训练 Yp = simlssvm; %% ======================结果显示======================== figure; plot,Yp,'ro:') hold on plot,Yp,'b*:') hold on plot,Yp,'k :') grid on; 源程序以及数据.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值