Home > Software design >  What is the training accuracy of this model?
What is the training accuracy of this model?

Time:08-04

Training accuracy plot

1

I’m trying to classifiy ECG signals using LSTM and MATLAB, the above plot shows that the training accuracy of the system is 100% but when I apply this code to calculate and get the accuracy I get only 20%

LSTMAccuracy = sum(trainPred == Labels)/numel(Labels)*100

Training accuracy calculated

2

Am I missing something here? Or there something wrong I did in my code?

Here is the configuration and the training code:

layers = [ ...
    sequenceInputLayer(1)
    bilstmLayer(100,'OutputMode','last') 
    fullyConnectedLayer(5)
    softmaxLayer
    classificationLayer
    ]

options = trainingOptions('adam', ...
    'MaxEpochs',1750, ...
    'MiniBatchSize', 150, ...
    'InitialLearnRate', 0.0001, ...
    'ExecutionEnvironment',"auto",...
    'plots','training-progress', ...
    'Verbose',false);

net = trainNetwork(Signals, Labels, layers, options);

trainPred = classify(net, Signals,'SequenceLength',1000);

LSTMAccuracy = sum(trainPred == Labels)/numel(Labels)*100
figure
confusionchart(Labels,trainPred,'ColumnSummary','column-normalized',...
              'RowSummary','row-normalized','Title','Confusion Chart for LSTM');

CodePudding user response:

The problem can be solved using the following line of code:

trainPred = classify(net, Signals,'SequenceLength','longest');
  • Related