fitcsvm error - "only floating-point data for x"

Hi, I am trying to train my SVM model (emotion classification using EEG).
I get several errors from the below line of code:
>>SVMmodelA=fitcsvm(D,Abin,'KernelFunction','Linear','Standardize',true,'ClassNames',{'low arousal','high arousal'})
Error using ClassificationSVM.prepareData (line 618)
You can pass only floating-point data for X to SVM.
Error in classreg.learning.FitTemplate/fit (line 213)
this.PrepareData(X,Y,this.BaseFitObjectArgs{:});
Error in ClassificationSVM.fit (line 239)
this = fit(temp,X,Y);
Error in fitcsvm (line 278)
obj = ClassificationSVM.fit(X,Y,varargin{:});
________________
Re the first error, another post on here says convert your array into a matrix which I have already done.
Can anyone help??
Are there any other functions or ways of training an SVM?

2 Comments

This was the answer: SVMmodelA=fitcsvm(T.data,Abin,'KernelFunction','Linear','Standardize',true,'ClassNames',{'0','1'})
Yup, that would do it.

Sign in to comment.

Answers (2)

SVMmodelA = fitcsvm(double(D), double(Abin), 'KernelFunction', 'Linear', 'Standardize', true, 'ClassNames', {'low arousal', 'high arousal'})

2 Comments

Hi Walter, thank you for your answer. What does using double on the data and label attribute do?
I did it and got this error: Error using double Conversion to double from struct is not possible.
Thanks
Which MATLAB version are you using?
Please show how D and Abin are constructed and what their class() and size() are.
fitcsvm() accepts only table objects or a numeric array for its first argument, but it appears you are passing in a struct for the first argument.

Sign in to comment.

Hi, I am trying to train my SVM model i am getting below error
Error in fitcsvm (line 278) obj = ClassificationSVM.fit(X,Y,varargin{:});
Error in ali3 (line 8) SVMMod = fitcsvm(Data1, ClassName);

1 Comment

What is class(Data1) and class(ClassName) and the size() of each of those?

Sign in to comment.

Asked:

on 24 Sep 2016

Commented:

on 18 Nov 2016

Community Treasure Hunt

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

Start Hunting!