What is the predict formula for fitrsvm (gaussian kernel) generated model?
4 views (last 30 days)
Show older comments
Using fitrsvm, I have generated a model from X and Y data:
mdl = fitrsvm(X,Y,'Standardize',true,...
'KernelFunction','gaussian','KernelScale','auto');
Given an input x, the predicted output using Matlab is:
y_expected=predict(mdl,x);
My attempt below at replicating 'predict' function does not yield the correct answer as y and y_expected do not agree.
y=mdl.Bias;
for i=1:length(mdl.Alpha)
xmxd=x-mdl.SupportVectors(i,:);
y=y + mdl.Alpha(i)*exp(-xmxd*xmxd'/2/mdl.KernelParameters.Scale);
end
y
What is the underlying formula behind the predict function in this case? I need it to write equivalent java code from parameters in the mdl model.
1 Comment
sanjeev kumar T M
on 12 Aug 2018
Hello, Actually i tried with the predictive formula given above but am not able to get the result what am getting using predict function. if any one help me regarding this please. what formula i have to use because i want to use the model in microcontroller to validate. am using 4 predictors and am using gaussian kernel
Answers (2)
the cyclist
on 18 May 2016
5 Comments
the cyclist
on 19 May 2016
The best form of thanks is upvoting and/or accepting an answer that you find helpful. This rewards the contributor, and points future users to helpful answers.
antlhem
on 29 May 2021
Could take a look into my question? https://uk.mathworks.com/matlabcentral/answers/842800-why-matlab-svr-is-not-working-for-exponential-data-and-works-well-with-data-that-fluctuates?s_tid=prof_contriblnk
sanjeev kumar T M
on 12 Aug 2018
Hello, Actually i tried with the predictive formula given above but am not able to get the result what am getting using predict function. if any one help me regarding this please. what formula i have to use because i want to use the model in microcontroller to validate.
Thanks,
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!