how to calculate the classification accuracy in neural network toolbox?

44 views (last 30 days)
net=patternnet(10);
[net,tr]=train(net,inputs,targets);
outputs=net(inputs);
[values,pred_ind]=max(outputs,[],1);
[~,actual_ind]=max(targets,[],1);
accuracy=sum(pred_ind==actual_ind)/size(inputs,2)*100;
Is this correct way to calculate the classification accuracy??
  2 Comments
Muhammad Shahzaib
Muhammad Shahzaib on 23 May 2019
Yes, this is the correct way to calculate the accuracies, (but some times you need to round off the third decimal place to get the exact value.)
For, TEST accuracy :-
[~,pred_ind_tst]=max(outputs(:,[tr.testInd]),[],1);
[~,actual_ind_tst]=max(targets(:,[tr.testInd]),[],1);
Test_accuracy =sum(pred_ind_tst==actual_ind_tst)/size(targets(:,[tr.testInd]),2)*100
Double check your calculation using below:
plotconfusion(targets(:,[tr.testInd]),outputs(:,[tr.testInd]),'Test_accuracy ');
Joana
Joana on 2 Jul 2020
Hi
I tried the above code for calculating test accuracy and double checked with plotting confusion matrix, but the accuracy comes out to be 100% while confusion matrix gives 58.3%.
How i can save the actual test accuracy.?

Sign in to comment.

Accepted Answer

Greg Heath
Greg Heath on 11 May 2017
Search ot NEWSGROUP and ANSWERS with
greg patternnet
and
greg patternnet tutorial
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (2)

Santhana Raj
Santhana Raj on 9 May 2017
There are various parameters that can and are used in different classification algorithms. Take a look at this wiki page:
Most generally used terms are precision, recall, true negative rate, accuracy. The most widely used is F-measure. The wiki page gives the formula for this. You can shoose one based on your application.

Saira
Saira on 15 Jun 2020
Hi,
I have 5600 training images. I have extracted features using Principal Component Analysis (PCA). Then I am applying CNN on extracted features. My training accuracy is 30%. How to increase training accuracy?
Feature column vector size: 640*1
My training code:
% Convolutional neural network architecture
layers = [
imageInputLayer([1 640 1]);
reluLayer
fullyConnectedLayer(7);
softmaxLayer();
classificationLayer()];
options = trainingOptions('sgdm', 'Momentum',0.95, 'InitialLearnRate',0.0001, 'L2Regularization', 1e-4, 'MaxEpochs',5000, 'MiniBatchSize',8192, 'Verbose', true);

Community Treasure Hunt

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

Start Hunting!