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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 24 Sep. 2016

0 Stimmen

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

2 Kommentare

Julia Down
Julia Down am 25 Sep. 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
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.

Melden Sie sich an, um zu kommentieren.

ALi Arshad
ALi Arshad am 18 Nov. 2016

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Statistics and Machine Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 24 Sep. 2016

Kommentiert:

am 18 Nov. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by