【问题标题】:Precison-recall calculation with no "true positive" data没有“真阳性”数据的精确召回计算
【发布时间】:2020-03-07 08:08:00
【问题描述】:

我正在对医学图像进行分割任务,并尝试计算精度,并使用测试数据进行召回。图片的标签是0(背景)和1(物体)。

在医疗情况下,每个切片中的检测对象将非常小甚至没有对象。所以,如果一些切片的标签都是0。无论我的预测结果是0还是1。TP和将为0。混淆矩阵将是这样的

     1    0
1    0    0 
0    5   95  

问题是准确率和召回率为0,因为标签中没有正类。 TP 将为 0,总切片的平均召回率和准确率将非常低

recall = TP / (TP+FN)

precision = TP/ (TP+FP)

我应该如何处理这些问题?如果这些情况是多分类任务呢?

【问题讨论】:

    标签: confusion-matrix precision-recall


    【解决方案1】:

    一次计算所有切片的混淆矩阵,而不是平均每个切片的结果。

    对于多分类任务,您只需为每个类执行此过程,因为您想知道每个类是如何分割的。因此,例如,当您查看第一堂课时,请将所有其他课程视为背景。

    【讨论】:

    • 你的意思是一次累积混淆矩阵(pixelwise)然后计算准确率?这合理吗?我不确定分割精度是否像这样定义。你能给我一些参考吗?
    • 是的,我是认真的。既然你在谈论切片,我认为你有一个 3D 数据集。您可以计算所有切片的 TP、FP、TN、FN。这与累积混淆矩阵相同。
    • 我有 2 个模块。一个用于 2D 医学分割,另一个用于 3D 分割。你的意思是如果我有 100 个 2D 切片图像验证数据,我应该通过这 100 个数据逐像素地累积混淆矩阵。现在的问题是,当我累积混淆矩阵时,如果我计算每个切片的准确度并平均 100 个数据,我会得到不同的准确度。不知道哪个更合理,我会遇到类似文章中提到的后一种方法的问题。
    • 另外一个问题是我有2D和3D的分割模块,我计算准确率的时候也是这样吗?
    • 如果您有 3D 数据,累积混淆矩阵是有意义的。是的,统计数据是不同的,因此您在给出结果时总是必须描述您的过程。如果 2D 分割是从 2D 切片中分割出 3D 体积,那么计算累积混淆矩阵也是有意义的。
    猜你喜欢
    • 2019-08-04
    • 2020-04-16
    • 2018-09-17
    • 2016-02-03
    • 2012-11-26
    • 2017-11-13
    • 2020-10-13
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多