使用 SVM 回归进行预测?

Prediction using SVM Regression?

我想使用支持向量机 (SVM) 进行预测。我使用 matlab 函数 fitrsvmpredict,

编写了如下代码
tb = table(x,y)                                                  
Mdl = fitrsvm(tb,'y','KernelFunction','gaussian')                                                                          
YFit = predict(Mdl,tb);                                
scatter(x,y);                                                   
hold on                                                
plot(x,YFit,'r.')

我得到的输出 .
这里 blude 是测试值 (tb),red 是使用 SVM 的预测。你可以清楚地看到这个预测是错误的。谁能告诉我任何方法来改进接近测量值的预测?

你应该使用 RBF 或 gaussian 等核函数。

SVM的默认Kernel是K(xi, xj) = xi*xj而且是线性kernel.Of当然你只能得到一个线性回归结果

代码如

x = 0:0.01:5 ;
y = sin(x)+rand(1, length(x)) ;
x = x' ;
y = y' ;
tb = table(x,y) ;
Mdl = fitrsvm(tb,'y','KernelFunction','gaussian');
YFit = predict(Mdl,tb);                                
scatter(x,y);                                                   
hold on                                                
plot(x,YFit,'r.')

============================================= ==========================
至于结果的准确性,取决于Kernel的类型,惩罚系数的调整等等很多因素,通常需要多次调整参数。交叉验证可以帮助您找到一组好的参数