Problem with plotting graph
2 次查看(过去 30 天)
显示 更早的评论
Hello, I trained Fast R-cnn detector and after I visualize graph of average precision for every class, each graph looks the same but the value of average precision is diferent for every class...
here is the code:
[ap, recall, precision] = evaluateDetectionPrecision(detectionResults,testData);
here i am showing average precision for first class:
recallv = cell2mat(recall);
precisionv = cell2mat(precision);
[r,index] = sort(recallv);
p = precisionv(index);
figure
plot(r,p)
xlabel("Recall")
ylabel("Precision")
grid on
title(sprintf("Average Precision = %.2f",ap(1)))
and the graphs looks the same for every class:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1378094/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1378099/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1378104/image.png)
and also average precision for 4th class is 0... I dont know why... can anybody help me? why is the average precision for 4th class 0?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1378109/image.png)
4 个评论
Walter Roberson
2023-5-9
for i = 1 : length(ap)
recallv = recall{i};
precisionv = precision{i};
stuff goes here
title(sprintf("Average Precision = %.2f",ap(i)));
end
回答(1 个)
Walter Roberson
2023-5-9
移动:Walter Roberson
2023-5-10
for i = 1 : length(ap)
recallv = recall{i};
precisionv = precision{i};
[r,index] = sort(recallv);
p = precisionv(index);
figure
plot(r,p)
xlabel("Recall")
ylabel("Precision")
grid on
title(sprintf("Average Precision = %.2f",ap(i)));
end
However you might want to consider using subplot() or tiledlayout() to put multiple plots in the same figure instead of using individual figures.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!