How to build a ROC curve using perfcurve with a single class?
Show older comments
Dear All,
I study a method that estimates the position of a set of test points against a reference point. One of the metrics for method performance is the angle between the locations of a given test point, the reference point, and the estimated point (the smaller the angle the better the method). I need to construct a ROC curve for the method performance (against chance), however when using perfcurve, I need two classes, and I have only one. How can I use the perfcurve here?
Please comment on the following attempt. I have 14 test points, and using the method (class 1), I generated the angles (deg): 0.00 90.00 14.31 0.00 106.78 0.00 21.87 21.87 21.87 21.87 56.03 27.79 0.00 88.51
I transformed those angles in probabilities; given angle ranges (0-180), I divided the above to 180, and I obtained the probabilities:
0.0000 0.5000 0.0795 0.0000 0.5932 0.0000 0.1215 0.1215 0.1215 0.1215 0.3113 0.1544 0.0000 0.4917 I created a 'chance' class (2), with the following probabilities 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1 I arranged the elements according to class in A(:,1), and the corresponding probabilities A(:,2), then
[X,Y,T,AUC] = perfcurve(A(:,1),A(:,2),'2');
Please let me know if this is correct, if not advise, Thank you,
Octavian
Answers (0)
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!