How to calculate true positive , true negative, false positive and false negative as we have segmented and ground truth
13 views (last 30 days)
Show older comments
marwa Saad
on 14 Sep 2018
Commented: Amel Kaouane
on 5 Jan 2022
calculate true positive , true negative, false positive and false negative as we have segmented and ground truth is that code is correct idx = (expected()==1)
p = length( expected(idx)) n = length( expected(~idx)) N = p+n tp = sum( expected(idx)== predicted(idx)) tn = sum( expected(~idx)== predicted(~idx)) fp = n-tn fn = p-tp
accuracy=(tp+tn)/(tp+tn+fp+fn)
0 Comments
Accepted Answer
KALYAN ACHARJYA
on 14 Sep 2018
Edited: KALYAN ACHARJYA
on 17 Nov 2019
%Last year I answered this way, you can avoid the loop (Recommended)
TP=0;FP=0;TN=0;FN=0;
for i=1:400;
for j=1:400;
if(gold_data(i,j)==1 & test_data(i,j)==1);
TP=TP+1;
elseif(gold_data(i,j)==0 & test_data(i,j)==1);
FP=FP+1;
elseif(gold_data(i,j)==0 & test_data(i,j)==0);
TN=TN+1;
else
FN=FN+1;
end
end
end
7 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!