perfcurve ROC analysis: dealing with inverse contrast
5 次查看(过去 30 天)
显示 更早的评论
I am using perfcurve to generate ROC curves for imaging data in which we expect tumor tissue (set as 1 or the positive class) to light up more than normal tissue (set as 0 or the negative class). However, sometimes the images display negative contrast and the normal tissue lights up more than the tumor tissue. In these cases, the perfcurve function is unbiased to which tissue is brighter (i.e. the positive or negative class) and spits out "positive" ROC curves with areas-under-the-curves that are greater than 0.5.
Another interesting phenomenon is that sometimes when the expected trend is there the ROC curves come out negative with AUCs less than 0.5. I am assuming this happens because the perfcurve function sees the normal tissue as the expected brighter signal.
Is there a way to explicitly specify which class needs to be greater than the other class for the diagnosis to be positive?
0 个评论
回答(1 个)
Image Analyst
2018-1-10
I'm not sure what you're sending in to perfcurve but it seems like the scores are what's bad and those are determined by your segmentation algorithm. So you need to fix your tumor segmentation algorithm first. If you're getting a bad label/estimate, then it's your segmentation algorithm's fault. I don't think it has anything to do with perfcurve() itself.
3 个评论
Image Analyst
2018-1-11
What image properties are you measuring, like tumor area or brightness or something? I don't know what ROC_vals is. You can't use ROC values as your measurement because you don't have an ROC curve yet. You need to change something in your segmentation algorithm first, then get a true positive ratio, then change the thing again and get a new ratio, and so on until you have enough points on your ROC curve to make one.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 ROC - AUC 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!