我想通过使用Suykens等人提出的最小二乘支持向量机进行回归预测。我正在使用LS-SVMlab,您可以找到MATLAB工具箱here。让我们考虑我有一个自变量X和一个因变量Y,它们都是模拟的。我按照教程中的说明进行操作。
>> X = linspace(-1,1,50)';
&gt;&gt; Y =(15 *(X. ^ 2-1)。^ 2. * X. ^ 4)。* exp(-X)+ normrnd(0,0.1,length(X),1); <登记/> &gt;&gt; type ='function estimation';
&gt;&gt; [gam,sig2] = tunelssvm({X,Y,type,[],[],'RBF_kernel'},'simplex',...'leaveoneoutlssvm','mse'});
&gt;&gt; [alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel'});
&GT;&GT; plotlssvm({X,Y,类型,GAM,SIG2,” RBF_kernel”},{α,B});
上面的代码使用单纯形法和留一法交叉验证找到最佳参数,并训练模型并给出alpha(训练集中所有数据点的支持向量值)和b系数。但是,它并没有给出变量Y的预测。它只绘制了图。在一些文章中,我看到了如下图所示的情节,
正如我之前所说,LS-SVM工具箱没有给出Y的预测值,它只绘制图,但工作区中没有值。如何获取这些值并绘制预测值图表和实际值?
我想到了一个解决方案。通过在训练集中使用X值,我重新运行模型并使用simlssvm
命令获得值Y的预测,但这对我来说似乎不合理。您可以提供任何解决方案?提前谢谢。
答案 0 :(得分:0)
恐怕你已回答了自己的问题。获得LS-SVMLab中训练点预测的唯一方法是在训练模型后模拟训练点。
答案 1 :(得分:0)
[yp,alpha,b,gam,sig2,model] = lssvm(x,y,'f')
当你使用这个函数时,yp是预测值