如何在有基本事实的情况下,仅为数据帧找到正
问题描述
首先,对于冗长的描述,我深表歉意,但我希望每个人都能理解我所做的事情。
我正在研究一个检测模型,它可以预测14种不同的病理,并且我已经制作了一个对任何新的测试图像进行预测的推理文件。 我和具有25k以上测试图像的数据集已经找到了他们的预测,并制作了一个这样的文件Dataframe。
在此数据框中,我有(了解我的情况的信息很少):
我想要的:
我们可以通过两种方法找到它:例如,为每个单独的类获取这些行。
LIKE首先查找包含Cardiomegaly
单标签或多标签的所有行。
然后应用下面的或查找方法和专业知识来查找TP
。
我想要像['Cardiomegaly', 'Edema', 'Infiltration']
这样具有基本事实并具有14种病理概率的图像。我想找出True Positive
这些实际标签是否具有以下项的最高概率值:
Like forCardiomegaly
如果它找到了最高概率-那么制作一个新的col
并将其放入True
。我不知道我应该怎么做多标签,在找到第一个后,我应该做第二个label
,如果它的概率最高,那么我可以如何操作。
在@tlentali的帮助下,我已经完成了最后一次尝试,谢谢你帮了我一把。
以下是我所做的:
这给我的感觉是:
这不是我想要的,而且它只适用于单一品牌,不适用于多个品牌。 请帮帮我,很抱歉用了这么长的描述,但这只是让每个人都明白我想要什么。 谢谢您
推荐答案
来自您的DataFrame
:
首先,我们eval
列label
提取我们期望预测的类:
然后,我们explode
列class
如下所示逐行获取预期的类:
然后,我们将数据转换为虚拟格式:
由于我们目前正在处理一个玩具数据集,因此我们必须进行一些调整,以便将所有需要的类都用作虚拟对象格式:
现在,我们可以使用sklearn
获取TRP
并最终获得AUC
:
现在,我们可以查看roc_auc
值,nan
是因为并非所有类都在玩具数据集中进行了预测:
我们现在可以根据TPR
和FPR
为每个类绘制ROC_AUC
曲线(在这里注意到classe
,因为我们在玩具数据集上工作,有些类是空的):
这篇关于如何在有基本事实的情况下,仅为数据帧找到正确的正值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!