跨模态检索评价指标,pr曲线,map

本文详细介绍了跨模态检索的评价指标,包括精确率、准确率、召回率和混淆矩阵,并提供了相关代码示例。此外,还讲解了在检索任务中的平均精度(AP)和map@k的计算方法,以及如何利用PR曲线和Precision-Scope曲线评估模型性能。通过Python代码展示了如何绘制这些曲线,以评估和比较检索模型的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

跨模态检索评价指标

精确率,准确率,召回率,混淆矩阵

以二分类算法为基础

TN:算法预测为负例(N),实际上也是负例(N)的个数,即算法预测对了(True);

FP:算法预测为正例(P),实际上是负例(N)的个数,即算法预测错了(False);

FN:算法预测为负例(N),实际上是正例(P)的个数,即算法预测错了(False);

TP:算法预测为正例(P),实际上也是正例(P)的个数,即算法预测对了(True)

混淆矩阵

预测值 0 预测值 1
真实值 0 TN FP
真实值 1 FN TP
  1. 准确率: a c c u r a c y = ( T P + T N ) ( T P + T N + T P + F N ) accuracy = \frac{(TP + TN)} { (TP + TN + TP + FN)} accuracy=(TP+TN+TP+FN)(TP+TN) 预测正确的总数/总样本数
  2. 精确率: p e r c i s i o n = T P ( T P + F P ) percision = \frac{TP} {(TP + FP)} percision=(TP+FP)TP 预测值为1且正确的数目/预测为1的总数
  3. 召回率: r e c a l l = T P ( T P + F N ) recall = \frac{TP} { (TP + FN)} recall=(TP+FN)TP 预测值为1且正确的数目/真实值为1的总数
代码,使用sklearn.metrics中的confusion_matrix
from sklearn.metrics import confusion_matrix
label = np.random.randint(0, 3, (1,5)).squeeze(0)
predict = np.random.randint(0, 3, (1,5)).squeeze(0)

​ label = array([1, 1, 0, 1, 2])

predict = array([0, 2, 0, 0, 2])

cf = confusion_matrix(label, predict).astype(float)

预测: 0 1 2 标签

array([[1., 0., 0.], 0
[2., 0., 1.], 1
[0., 0., 1.]]) 2

# 准确率
acc = np.diag(cf).sum()/cf.sum()    

# 精确率
per = np.diag(cf)/cf.sum(axis=0) # 按列求和

# 召回率
rec = np.diag(cf)/cf.sum(axis=1) # 按行求和

评价指标的论文:paper

map

mean average precision,平均精度

检索任务的percision、recall和分类任务的略有不同。分类任务中使用预测分数排序,检索任务中使用特征的近似度排序。

p e r c i s i o n = ∑ i = 1 k Re ⁡ i k percision = \frac{\sum_{i=1}^{k} \operatorname{Re}_{i}}{k}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值