Getting error using Linear Discriminant Analysis(LDA) in MATLAB.

I am trying to classify training and testing data using LDA classify in MATLAB R2018b and getting error.
Error : Error using classify
TRAINING must have more observations than the number of groups.
I have following matrics for training and testing.
feature_training= 1440 x 9
class_training= 1440 x 1
feature_testing= 1152 x 9
class_testing= 1152 x 1
Note: I already have more Training Elements than Testing Elements.
[error_training,error_testing,classification_training,classification_testing]...
= ldaclassify(feature_training,feature_testing,class_training,class_testing);
Where ldaclassify, is below function.
function [TrainErr,TestErr,TrainPredict,TestPredict] = ldaclassify(TrainData,TestData,TrainClass,TestClass)
TrainPredict = classify(TrainData,TrainData,TrainClass);
TestPredict = classify(TestData,TrainData,TrainClass);
TrainErr = sum(TrainPredict ~= TrainClass)/length(TrainClass)*100;
TestErr = sum(TestPredict ~= TestClass)/length(TestClass)*100;
end

2 Comments

Can you upload the data in a MAT file, so that we can actually run your code?

Sign in to comment.

Answers (0)

Categories

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

Asked:

on 29 Jun 2019

Commented:

on 29 Jun 2019

Community Treasure Hunt

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

Start Hunting!