Recall(召回率);Precision(准确率);F1-Meature(综合评价指标

Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);

 

    在信息检索(如搜索引擎)、自然语言处理和检测分类中经常会使用这些参数,介于语言翻译上的原因理解难免出现误差,下面介绍下自己对他们的理解。

 

首先来个定义:

Precision:被检测出来的信息当中 正确的或者相关的(也就是你想要的)信息中所占的比例;

Recall:所有正确的信息或者相关的信息(wanted)被检测出来的比例。

F1-Meature后面定义。

 

查了资料都习惯使用四格图来解释,来个易懂的四格图:

 正确的、相关的(wanted)不正确的、不相关的
检测出来的
true  positives (纳真tp)
false  positives(纳伪fp)
未检测出来的
false  negatives(去真fn)
true  negatives  (去伪tn)

 

 

表格中的翻译比较重要,可以帮助理解。

true positives (纳真)    false positives(纳伪)

false negatives(去真)true negatives  (去伪)

其中false positives(纳伪)也通常称作误报,false negatives也通常称作漏报!

 

Precision =   tp/(tp + fp);

Recall = tp / (tp + fn).

同样还有另外两个定义

\mbox{True Negative Rate}=\frac{tn}{tn+fp} \,

\mbox{Accuracy}=\frac{tp+tn}{tp+tn+fp+fn} \,

然而在实际当中我们当然希望检索的结果P越高越好,R也越高越好;事实上这两者在某些情况下是矛盾的。比如,我们只搜出了一个结果,且是准确的,那么P就是100%,但是R就很低;而如果我们把所有结果都返回,那么必然R是100%,但是P很低。因此在不同的场合中需要自己判断希望P比较高还是R比较高。如果是做实验,可以绘制Precision-Recall曲线来帮助分析。

 

 

F-Measure是Precision和Recall加权调和平均:
F = \frac{(a^2+1)P*R} {a^2(P+R)} \hfill (3)

当参数a=1时,就是最常见的F1了:
F1 = \frac{2PR} {P+R} \hfill (4)

很容易理解,F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。

### MM-Detection 模型的精确率、召回率F1-Score 计算方式 在目标检测任务中,MM-Detection 模型的评估指标主要包括精确率(Precision)、召回率Recall)和 F1-Score。这些指标用于衡量模型对不同类别目标的检测性能。 #### 精确率(Precision) 精确率是衡量模型预测为正类的样本中有多少是真正类的比例。公式如下: \[ \text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}} \] 其中: - True Positives (TP):模型正确预测为目标的样本数。 - False Positives (FP):模型错误预测为目标的样本数。 在 MM-Detection 中,可以通过设置 IoU 阈值来判断预测框是否与真实框匹配[^1]。 #### 召回率Recall召回率是衡量模型能够找到所有实际正类样本的比例。公式如下: \[ \text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}} \] 其中: - True Positives (TP):模型正确预测为目标的样本数。 - False Negatives (FN):模型未能预测为目标但实际上是目标的样本数。 召回率反映了模型对目标检测的覆盖能力[^1]。 #### F1-Score F1-Score 是精确率和召回率的调和平均值,综合了两者的表现。公式如下: ```math F1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}} ``` F1-Score 的取值范围为 [0, 1],值越高表示模型性能越好。在 MM-Detection 中,通常通过计算每个类别的 PrecisionRecall 来得到 F1-Score,并进一步计算加权平均或宏平均以评估整体性能。 #### 示例代码 以下是一个简单的代码示例,展示如何使用 Python 和 `sklearn.metrics` 计算 PrecisionRecallF1-Score: ```python from sklearn.metrics import precision_score, recall_score, f1_score # 假设这是真实的标签和预测结果 y_true = [0, 1, 2, 0, 1, 2, 0, 2, 1] y_pred = [0, 1, 1, 0, 1, 2, 0, 1, 2] # 计算 Precision precision = precision_score(y_true, y_pred, average='macro') # 计算 Recall recall = recall_score(y_true, y_pred, average='macro') # 计算 F1-Score f1 = f1_score(y_true, y_pred, average='macro') print(f"Precision: {precision}") print(f"Recall: {recall}") print(f"F1-Score: {f1}") ``` #### 评估指标的计算方法 在 MM-Detection 中,评估指标通常基于 COCO 数据集的标准进行计算。具体步骤包括: 1. **IoU 阈值**:设定 IoU 阈值(如 0.5)来判断预测框与真实框是否匹配。 2. **分类阈值**:设定分类置信度阈值(如 0.5)来过滤低置信度的预测。 3. **多类别处理**:分别计算每个类别的 PrecisionRecallF1-Score,再进行加权平均或宏平均[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值