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.

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

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!