How to calculate the ROC curve using AlexNet CNN from Matlab? I have two class.

Réponses (3)

Gledson Melotti
Gledson Melotti le 4 Oct 2018

1 vote

cgt = double(testeImagesLabels); clabel = double(Test_predict); cscores = double(Probability);
figure(2) [X,Y,T,AUC,OPTROCPT,SUBY,SUBYNAMES] = perfcurve(cgt,cscores(:,1),1); plot(X,Y,'k');

8 commentaires

Win Sheng Liew
Win Sheng Liew le 4 Oct 2018
May I know what is your testeImagesLabels,Test_predict and Probability?
Gledson Melotti
Gledson Melotti le 12 Déc 2018
testeImagesLabels are my labels ground true, that is, true classes. Test_predict is my result after prediction.
Aneeba NAJEEB
Aneeba NAJEEB le 22 Avr 2019
How to plot when we have 6 classes?
Gledson Melotti
Gledson Melotti le 22 Avr 2019
Hi, You make one against all.
Roozbeh Kh
Roozbeh Kh le 22 Fév 2021
I have 12 classes , how to make it one agaist all 12 ?
Peter
Peter le 21 Fév 2022
Please see the Plot ROC Curve for Classification Tree example in the perfcurve discription for how to do this.
Jhalak Mehta
Jhalak Mehta le 12 Avr 2022
Modifié(e) : Jhalak Mehta le 12 Avr 2022
How do I get the probability?
Hiren Mewada
Hiren Mewada le 25 Jan 2024
classNames = net.Layers(end).Classes;
rocSmallNet = rocmetrics(imdsTest.Labels,score,classNames);
p = plot(rocSmallNet,ShowModelOperatingPoint=false)

Connectez-vous pour commenter.

Salma Hassan
Salma Hassan le 20 Fév 2018

0 votes

sir did you find the solution i have the same problem

8 commentaires

Gledson Melotti
Gledson Melotti le 22 Fév 2018
Not. If you find it, please send it to me.
Nazia Hameed
Nazia Hameed le 9 Avr 2018
did u find any solution?
Gledson Melotti
Gledson Melotti le 10 Avr 2018
Modifié(e) : Gledson Melotti le 10 Avr 2018
Hello.
[predictedLabels,scores]=classify(myNet,testeImages);
cgt = double(testeImagesLabels);
cscores = scores;
figure(1)
[X,Y,T,AUC,OPTROCPT,SUBY,SUBYNAMES] = perfcurve(cgt,cscores(:,1),1);
plot(X,Y);
grid
xlabel('False positive rate')
ylabel('True positive rate')
title('ROC for Classification CNN')
Salma Hassan
Salma Hassan le 28 Juil 2018
Modifié(e) : Salma Hassan le 28 Juil 2018
sir i change my code to yours and i got this figure
and if i change the line into score(:,2),1 i got this
which one is true
Gledson Melotti
Gledson Melotti le 29 Juil 2018
The second figure is True.
Win Sheng Liew
Win Sheng Liew le 2 Oct 2018
Sir, may i have your code plss.
Gledson Melotti
Gledson Melotti le 4 Oct 2018
cgt = double(testeImagesLabels); clabel = double(Test_predict); cscores = double(Probability);
figure(2) [X,Y,T,AUC,OPTROCPT,SUBY,SUBYNAMES] = perfcurve(cgt,cscores(:,1),1); plot(X,Y,'k');
mustafa kanaan
mustafa kanaan le 14 Jan 2022
Please can you help me in the section, becuase I have error thanks

Connectez-vous pour commenter.

Hiren Mewada
Hiren Mewada le 25 Jan 2024

0 votes

[predictions,score] = classify(net, imdsTest); % To get prediction score from last layer for each class
classNames = net.Layers(end).Classes;
rocSmallNet = rocmetrics(imdsTest.Labels,score,classNames);
p = plot(rocSmallNet,ShowModelOperatingPoint=false)

Community Treasure Hunt

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

Start Hunting!

Translated by