[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)

时间:2024-03-18 15:23:34


在人工智能算法中,算法实现,训练模型完成后,为了判定算法的好坏,需要对训练的模型进行评价,本文介绍一些用于时空数据挖掘(STDM)中POI预测的评价标准。

  1. 场景假设

假如某班有女生20人,男生80人,共计100人.目标是找出所有女生,某人(分类器)挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了。针对上述场景,现在换一种说法:总人数是100人,他把其中70人(20女+50男)判定正确了。

  1. 情况分类

按照上面例子,我们需要从一个班级中寻找所有女生,如果把这个任务当成一个分类器的话,那么女生就是我们需要的,而男生不是,所以我们称女生为"正类",而男生为"负类"。分类表格如下:

真实为正类/女 真实为负类/男
判定为正类/女 20(TP) 30(FP)
判定为负类/男 0(FN) 50(TN)

其中:

true positives(TP 正类判定为正类,例子中就是正确的判定"这位是女生")
false positives(FP 负类判定为正类,“存伪”,例子中就是分明是男生却判断为女生)
false negatives(FN 正类判定为负类,“去真”,例子中就是女生被判别成男生)
true negatives(TN 负类判定为负类,例子中就是一个男生被判断为男生)


召回率(Recall)

指的是所有真实为正类(TP+FN)中,被判定为正类(TP)占的比例。

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)


精确率(Precision)

指的是所有被判定为正类(TP+FP)中,真实的正类(TP)占的比例。

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)


F1-score

精确率和召回率两个指标通常是此消彼长的,很难兼得,在大规模数据集合中相互制约,这样就需要综合考虑,最常见的方法就是F-Measure,它是Precision和Recall加权调和平均:

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
当参数 α = 1 α=1 α=1时,就是最常见的F1-score,即:
[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
F1综合考虑了P和R的结果,当F1较高时则能说明试验方法比较有效。


Hit Ratio(HR)

在top-K推荐中,HR是一种常用的衡量召回率的指标,计算公式为:[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
分母是所有的测试集合,分子表示每个用户top-K列表中属于测试集合的个数的总和。

举个简单的例子,三个用户在测试集中的商品个数分别是10,12,8,模型得到的top-10推荐列表中,分别有6个,5个,4个在测试集中,那么此时HR的值是
(6+5+4)/(10+12+8) = 0.5。


Normalized Discounted Cummulative Gain(NDCG)

累积增益CG,推荐系统中CG表示将每个推荐结果相关性的分值累加后作为整个推荐列表的得分:
[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
其中, r e l i ​ rel_i​ reli 表示位置 i i i的推荐结果的相关性, k k k表示推荐列表的大小。

CG没有考虑每个推荐结果处于不同位置对整个推荐结果的影响,例如,我们总是希望相关性大大的结果排在前面,相关性低的排在前面会影响用户体验。

DCG在CG的基础上引入了位置影响因素,计算公式如下:

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
从上面的式子可以得出:

  1. 推荐结果的相关性越大,DCG越大。
  2. 相关性好的排在推荐列表前面的话,推荐效果越好,DCG越大。

DCG针对不同的推荐列表之间很难进行横向评估,而我们评估一个推荐系统不可能仅使用一个用户的推荐列表及相应结果进行评估,而是对整个测试集中的用户及其推荐列表结果进行评估。那么,不同用户的推荐列表的评估分数就需要进行归一化,也就是NDCG

**IDCG(ideal DCG)**表示推荐系统某一用户返回的最好推荐结果列表, 即假设返回结果按照相关性排序, 最相关的结果放在最前面, 此序列的DCG为IDCG。因此DCG的值介于 (0,IDCG] ,故NDCG的值介于(0,1],那么用户u的[email protected]定义为:

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)
平均NDCG的值为:

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)


平均精度均值MAP(Mean Average Precision)

mAP是为解决Precision,Recall,F-measure的单点值局限性的。为了得到 一个能够反映全局性能的指标,可以看考察下图,其中两条曲线(方块点与圆点)分布对应了两个检索系统的准确率-召回率曲线:

[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)

可以看出,虽然两个系统的性能曲线有所交叠但是以圆点标示的系统的性能在绝大多数情况下要远好于用方块标示的系统。

从中我们可以 发现一点,如果一个系统的性能较好,其曲线应当尽可能的向上突出。

更加具体的,曲线与坐标轴之间的面积应当越大。

最理想的系统, 其包含的面积应当是1,而所有系统的包含的面积都应当大于0。这就是用以评价信息检索系统的最常用性能指标,平均准确率mAP其规范的定义如下:(其中P,R分别为准确率与召回率)
[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)


参考:
https://blog.csdn.net/zsc201825/article/details/93487506
https://blog.csdn.net/qq_40006058/article/details/89432773
https://www.jianshu.com/p/82be426f776e