MATLAB Answers

Can anyone tell me how to solve this error?

1 view (last 30 days)
anand rathod
anand rathod on 24 Jul 2020
Commented: anand rathod on 25 Jul 2020
clear ;
close all;
load FA
F1 = Feature;
load NF
F2 = Feature;
xdata = [F1;F2];
group = cell(1,1);
for ii = 1:size(F1,1)
group{ii,1} = 'Fatigue';
for ii = 1:size(F2,1)
group{ii+size(F1,1),1} = 'Non-Fatigue';
svmStruct = fitcsvm(xdata,group,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('showplot',true));
% Testing
save svm svmStruct
load svm
for ii = 1:size(F1,1)
species = ClassificationSVM(svmStruct,F1(ii,:));
disp([ group{ii,1} ' = ' species]);
for ii = 1:size(F2,1)
species = ClassificationSVM(svmStruct,F2(ii,:));
disp([ group{ii+size(F1,1),1} ' = ' species]);
It runs for some time and gives error on classificationSVM.
Here Xdata is a 8x4 double. error says X should be a double or a single matrix. How to solve it and the other errors?


Show 2 older comments
Walter Roberson
Walter Roberson on 24 Jul 2020
Why are you directly invoking the private instead of calling fitcsvm()? And you appear to be expecting the results to be species indicators but that is not what fit is for, and you would use predict() to use a trained classifier plus input data to estimate species.
Image Analyst
Image Analyst on 25 Jul 2020
If you need more help, attach FA.mat and NF.mat.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!