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 comentarios

Julia Down
Julia Down el 25 de Sept. de 2016
This was the answer: SVMmodelA=fitcsvm(T.data,Abin,'KernelFunction','Linear','Standardize',true,'ClassNames',{'0','1'})
Walter Roberson
Walter Roberson el 25 de Sept. de 2016
Yup, that would do it.

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 24 de Sept. de 2016
SVMmodelA = fitcsvm(double(D), double(Abin), 'KernelFunction', 'Linear', 'Standardize', true, 'ClassNames', {'low arousal', 'high arousal'})

2 comentarios

Julia Down
Julia Down el 25 de Sept. de 2016
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
Walter Roberson
Walter Roberson el 25 de Sept. de 2016
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.

Iniciar sesión para comentar.

ALi Arshad
ALi Arshad el 18 de Nov. de 2016

0 votos

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 comentario

Walter Roberson
Walter Roberson el 18 de Nov. de 2016
What is class(Data1) and class(ClassName) and the size() of each of those?

Iniciar sesión para comentar.

Preguntada:

el 24 de Sept. de 2016

Comentada:

el 18 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by