How to calculate true positive , true negative, false positive and false negative as we have segmented and ground truth
104 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
Categories
Find more on Detection in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!