机器学习问题中精确率、召回率、准确率

一、精确率、召回率、准确率

混淆矩阵

Positive Negative
True True Positive(TP) True Negative(TN)
False False Positive(FP) False Negative(FN)

True Positive(真正, TP):将正类预测为正类数

True Negative(真负, TN):将负类预测为负类数

False Positive(假正, FP):将负类预测为正类数--误报(Type Ⅰ error)

Flase Negative(假负, FN):将正类预测为负类数--漏报(Type Ⅱ error)

准确率:Accuracy

acc = \frac{TP + TN}{TP+TN+FP+FN}

精确率:Precision

pre = \frac{TP}{TP + FP}

召回率:Recall

recall = \frac{TP}{TP + FN}

精确率和召回率的调和平均值:F1

F1 = \frac{2 * pre * recall}{pre + recall}

由于 精确率 和 召回率 两个参数是此消彼长的, 很多时候使用参数来控制两个结果, 通过修改参数则能得出一个准确率 和 召回率的曲线(ROC),这条曲线与x轴, y轴围成的面积就是AUC(ROC Area)。AUC可以综合衡量一个预测模型的好坏, 这一个指标综合了precision和recall两个指标。

二、评测标准召回率Recall@K

推荐系统的Recall@K:

Recall@k = k个推荐中相关物品的个数 / 相关物品的总个数

top-k推荐:从最后按得分排序的推荐列表中返回前k个结果

precision准确率是检索出相关结果数与检索出结果总数的比率, 衡量的是检索系统的查准率

recall@k召回率是指前topK结果中检索出相关结果数与库中所有相关结果数的比率,衡量的是检索系统的查全率

图像检索的Recall@K:

Recall@k = \frac{1}{n} \sum_{i = 1}^{n}(score)

对于单一查询图片, 在系统中搜索k个最近邻的图片, 倘若返回的k张图片中至少存在一张和查询图片同一类别, 该次查询的score记为1, 否则记为0。Recall@k是测试集中所有查询图片score的平均。

信息检索的Recall@K:

P@n = \frac{1}{n} \sum_{i=1}^{n}y_{i}

 P@n, 前n个结果的准确度, P指的是Precision, 用score=0,1分别表示第i个结果相关、不相关

在评测系统的P@n时,对每个查询的结果计算P@n, 取这些值的平均值作为系统的P@n。

信息检索中 (IR) 的评价指标: P@n, MAP, MRR, DCG, NDCG

三、信息检索(IR)的评价指标

P@n

前n个结果的准确度,P指的是Precision,如果用y_{i} = 0, 1 分别表示第i个结果相关、不相关,则

P@n = \frac{1}{n}\sum_{i=1}^{n}y_{i}

在评测系统的P@n时, 对每个查询的结果计算P@n, 取这些值的平均值作为系统的P@n.

MRR

Mean Reciprocal Rank(MRR). 对每个查询q_{i}, 记它第一个相关的结果排在位置k_{i}, 即rank为k_{i}, 则Reciprocal Rank(RR)得分计作\frac{1}{k_{i}}, 对所有query的RR取平均值,即为MRR:

MRR = \frac{1}{N}\sum_{i}^{}\frac{1}{k_{i}}

DCG和NDCG

Discounted Cumuulative Gain(DCG): Cumulative为将所有的结果累加起来, Discounted指给排在后面的结果加一个折扣系数, 排序位置越靠后,折扣系数越小

DCG@N = \sum_{i=1}^{N}r_{i}*D_{i}

其中r_{i}指每条结果的收益(Gain), D_{i}指折扣系数,排序位置越靠后,折扣系数越小, 常用的是\frac{1}{log(i + 1)}

おすすめ

転載: blog.csdn.net/jiangchao98/article/details/120139004