Effacer les filtres
Effacer les filtres

perfcurve and ROC curve

6 vues (au cours des 30 derniers jours)
karlo gonzales
karlo gonzales le 23 Fév 2016
Commenté : Ilya le 24 Fév 2016
Dear friends,
I have a confusion about ROC curve and hopefully you can help me!
To plot ROC, i was naively using a simple command as plot(False_alarm_rate,Hit_rate,'-'). But, it is not exactly the same as perfcurve plot. To use this function, i wrote the following script
Q=reshape([Hit_rate False_alarm_rate],[],1);
Labels=[]; Labels = ones(size(Q,1),1);
Labels(end/2+1:end) = 0;
PosClass = 1;
X=[];Y=[];
[X Y T,AUC] = perfcurve(Labels,Q,PosClass);
figure, plot(X,Y,'r') % ROC
could you please tell me , what i am missing here?
- BTW, can we calculate d-prime from output of perfcurve?
thanks in advance, Karlo

Réponses (1)

Ilya
Ilya le 23 Fév 2016
Q must be classification scores. What you put in Q sounds more like what perfcurve should return as output. Take a classifier from the Statistics and Machine Learning Toolbox such as decision tree, discriminant etc and look at the predict method. The second output from the predict method is classification score.
  2 commentaires
karlo gonzales
karlo gonzales le 23 Fév 2016
Thanks Ilya for your reply.
Indeed, Q represent the Hit rate and the False alarm rate for different subjects who performed a memory test. would you please tell me how you would plot ROC for this case?
Ilya
Ilya le 24 Fév 2016
The standard ROC curve is a plot of TPR vs FPR. The doc for perfcurve defines TPR and FPR (as well as other criteria) in the name-value pair section. You could write down definitions of false alarm rate etc and see if you can transform those into TPR and FPR. I am sure you are at least as good as I am at algebra, and, unlike you, I do not know what hit rate and false alarm rate are.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by