【发布时间】:2020-07-05 21:02:56
【问题描述】:
我正在突破图像分类按钮。 我想计算每张图像的精度和召回率。 目前对于每个图像,我有两个 .txt:一个表示 GT,一个表示检测。 示例:
GT: [59, 59, 59]
DETECTION: [30, 30, 1]
如果 GT 的长度小于或大于检测的长度,我如何计算指标?
GT: [64, 64, 64, 64, 64]
DETECTION: [34]
或
GT: [59, 59, 59]
PRED: [30, 30, 1, 59]
我尝试使用此函数:precision = precision_score(GT, DETECTION, average = 'macro') 但当len(GT) 与len(DETECTION) 不同时,它无法计算指标...
ValueError: Found input variables with inconsistent numbers of samples: [6, 1]
有人知道如何帮助我吗?在此先感谢
【问题讨论】:
-
你应该有一个预测的和一个实际的图像标签(基本事实),不是吗?你允许多标签吗?在这种情况下,每个图像都应该有一个 1-out-of-K 数组。
-
这是一个多类别的品尝。对于每个实际图像,我都有一个或多个数字来指示检测到的边界框的类别。然而,在检测中,我的模型会检测到更少或更多的边界框。因此,如果我尝试计算指标,sklearn 会返回一个 valueError。这是因为它们没有相同数量的元素。 PS:每一个bounding box类的名字都和一个json文件中的名字相关联。
-
我的问题是:当
len (gt)> len (pred)时,我可以计算分类任务的指标吗?example gt = ["apple", "cat", "rabbit"], pred = ["apple", "rabbit"]
标签: python scikit-learn metrics multiclass-classification precision-recall