Search code examples
matlabrocangular2-changedetection

perfcurve return one value - matlab


I used sam (spectral angle mapper) to change detection in hyperspectral image after that want to plot roc(Receiver operating characteristic) using perfcurve function but function return one value. why? could you help me?

[Xpr,Ypr,Tpr,AUCpr] = perfcurve(hyperdata_gt,abs(result),'1'); plot(Xpr,Ypr);

enter image description here


Solution

  • [X,Y] = perfcurve(labels,scores,posclass);
    plot(X,Y);
    

    labels are the true labels of the data, scores are the output scores from your classifier (before the threshold) and posclass is the positive class in your labels.

    I used 'after the threshold'.