Plotting ROC curve from confusion matrix
Show older comments
I have used knn to classify 86 images into 2 classes. I have found the confusion matrix and accuracy using matlab commands confusionmat and classperf. How do I find the ROC curve? I know it is a ratio of true positive rate and false positive rate at all possible thresholds, but how do I calculate it when I only have confusion matrix to play with? I have banged my head for weeks over theory of ROC but still am no where close to actually plotting it. Please if someone could guide me with respect to plotting it on matlab and not the theory behind it, that would be great.
Accepted Answer
More Answers (1)
Image Analyst
on 3 Nov 2016
0 votes
You can't. One confusion matrix can get you only one point on the ROC curve. To get other points, you'd have to adjust other things in your algorithm (like threshold or whatever) to get different true positive rates (different confusion matrices). For example, you'd have to run your algorithm on different set of images, or take subsets of the one you have (set of 86 images) as a worst case.
3 Comments
farheen asdf
on 4 Nov 2016
Image Analyst
on 4 Nov 2016
I don't know. I'm not familiar with ann.
Greg Heath
on 22 Dec 2017
The typical ROC is obtained FOR A SINGLE CLASS vs ALL OTHER CLASSES by varying the classification threshold.
However, when there are only two classes, one ROC will suffice.
Hope this helps.
Greg
Categories
Find more on Detection in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!