How can I calculate the classification accuracy?
Show older comments
Dear Sir,
I used the Adaptive Neuro-Fuzzy inference system (ANFIS) for making trajectories' classification of two different types of ships (tanker ship and fishing boat). I could get the Average testing error, but I can calculate the classification accuracy. I would like you to advise me "How can calculate the classification accuracy??"
I look forward to your response soon
Thank you very much
Mohamed Elwakdy
Answers (3)
Image Analyst
on 7 Feb 2015
0 votes
7 Comments
Mohamed Elwakdy
on 24 Mar 2015
Image Analyst
on 24 Mar 2015
I don't know how to use ANFIS. But somehow you have to know if the classification you got is correct or not. You need to have some "ground truth". If you don't know if it's correct or not, on your training set, then why not just assume they're all correct and be done with it?
Mohamed Elwakdy
on 25 Mar 2015
Image Analyst
on 25 Mar 2015
It sounds like there is no binary accurate/(not accurate) decision made, but it's more of a continuum and it gives you a number related to how inaccurate it is. So one matrix may be inaccurate by 0.03 and another by 0.84. So what's wrong with just getting the average of the testing errors?
Mohamed Elwakdy
on 25 Mar 2015
Image Analyst
on 25 Mar 2015
Sorry - I have never used ANFIS.
Greg Heath
on 26 Mar 2015
Edited: Greg Heath
on 26 Mar 2015
Artificial Neural Fuzzy Inference System
https://www.google.com/?gws_rd=ssl#q=anfis+matlab
Hope this helps.
Greg
Jinghua Li
on 3 Jan 2017
0 votes
I encountered the same problem as you,have you solved the problem? Looking forward your help!
Daniel Groves
on 9 Aug 2017
You could look at using the 'classperf' function in matlab. It will identify the correct classification for two groups.
see: https://uk.mathworks.com/help/bioinfo/ref/classperf.html
You can then work the percentages out yourself
An example from a logistic regression model of class performance is:
lin = stats(1,1) + stats(2,1)*EQRAT + stats(3,1)*LNSIZE + stats(4,1)*HPI + stats(5,1)*LEVERAGE + stats(6,1)*SEC + stats(7,1)*LLR + stats(8,1)*CASHDUE + stats(9,1)*GOODWILL + stats(10,1)*LIQUIDITY;
phat = (exp(lin)./(1 + exp(lin))); % Probaility that bank failed where FAIL = 1
phat(phat<0.5) = 0; % If probability less than 0.5 assume does not fail ie: FAIL = 0
phat(phat>=0.5) = 1; % If probability more than 0.5 assume does fail ie: FAIL = 1
CP = classperf(FAIL, phat);
CPtbl = CP.DiagnosticTable; % Percentage correctly predicted table
Hope this helps someone!
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!