I want to plot the Roc curve using perfcurve function i have 2 plot which code is right

조회 수: 14 (최근 30일)
the code is [Xpr,Ypr,Tpr,AUCpr] = perfcurve(targets,abs(scores(:,1)), 1, 'xCrit', 'reca', 'yCrit', 'fpr');
plot(Xpr,Ypr)
xlabel('specificity'); ylabel('sensitivity') title(['ROC curve (AUC: ' num2str(AUCpr) ')'])
where scores(2 columns ) the first for predict abnormal image and the second for normal the problem is i got this graph
and if i change the score into abs(scores(:,2)), 1,i get an extremely different graph

채택된 답변

KALYAN ACHARJYA
KALYAN ACHARJYA 2018년 7월 29일
편집: KALYAN ACHARJYA 2018년 7월 29일
Let me clear that ROC curve: 1-specificity vs sensitivity (In your figure x-axis is specificity). Ant the traditional ROC curve looks like as second figure. First one is incorrect. If your curve position towards the northwest corner, it is more accurate. Better follow TOM paper , here explains everything.
Attache figure for some sample ROC curves. AUC value range from 0.5-0.99,AUC value in larger side more better the proposed method. Curve never appper below the reference line (In attached figure red line).Purple curve having better method.
Hope the answer helps you!
Cheers!
  댓글 수: 2
Salma Hassan
Salma Hassan 2018년 7월 30일
thanks so much what does the red line represent ? [Xpr,Ypr,Tpr,AUCpr] = perfcurve(....
KALYAN ACHARJYA
KALYAN ACHARJYA 2018년 7월 30일
Just reference line, worst condition (50% random probability ), your ROC curve on that line.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 ROC - AUC에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by