How to use rbf_kernel parameters with svmtrain() and svmclassify() for svm classification

2 views (last 30 days)
By using linear kernel I got the result using svmtrain() and svmclassify() function. But the result obtained is not so accurate. When I used rbf_kernel I got an error as follows. Please help me how to use parameters with example
>> load fisheriris >> data = [meas(:,1), meas(:,2)]; >> groups = ismember(species,'setosa'); >> [train, test] = crossvalind('holdOut',groups); >> cp = classperf(groups); >> svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);
//Error below
>> svmStruct = svmtrain(data(train,:),groups(train),'kernel_function','1'); ??? Error using ==> svmtrain at 266 Unknown Kernel Function 1.

Answers (3)

Tom Lane
Tom Lane on 28 Mar 2012
From your description, it sounds like you intended
svmStruct = svmtrain(data(train,:),groups(train),'kernel_function','rbf');
In any case, the error message simply means that '1' isn't a valid value to follow the 'kernel_function' parameter name.
  1 Comment
Yasir Mohammed
Yasir Mohammed on 30 May 2016
svmStruct =svmtrain(data(train,:),groups(train),'kernel_function','rbf'); i used this but i also have the same error
Error using svmclassify (line 75) Unknown parameter name: kernel_function.
Error in SVMtest (line 14) testresult = svmclassify(svmStructSurprise,testone,'kernel_function','rbf' );
>>

Sign in to comment.


Pratik Oak
Pratik Oak on 22 Mar 2013
Use this:
svmStruct = svmtrain(data(train,:),groups(train),'RBF_Sigma','1')
name of kernel function should be added

Farman Shah
Farman Shah on 14 Aug 2018
Edited: Farman Shah on 14 Aug 2018
_ _ _ _ _ _ _ _ _ _ _ * * * * * * * * * *svmStruct =svmtrain(data(train,:),groups(train),'kernel_function','rbf'); i used this but i also have the same error
Error using svmclassify (line 75) Unknown parameter name: kernel_function.
Error in SVMtest (line 14) testresult = svmclassify(svmStructSurprise,testone,'kernel_function','rbf' );
>>**********____
Dear you are getting the error because you are adding 'Kernel_Function', 'polynomial', 'Polyorder', 4 to svmclassify.Add this kernal parameter to the trainsvm function instead..i.e
SVMStruct = svmtrain(features_train,labels_train,'Kernel_Function', 'polynomial', 'Polyorder', 4);
and it will work... _____

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!