衡量推荐系统算法的精确度的指标通常有四种:NDCG、Recall、Precision、Hit Rate。
一、NDCG
在搜索和推荐任务中,系统通常会返回一个item的列表,例如,我们检索【推荐排序】的时候,网页返回了一个于推荐排序相关的链接列表,列表可能是[A,
B, C, D, E, F],也可能是[C, F, A, E, D],那么如何评价这两个列表哪一个更好呢?
NDCG的全称是Normalized Discounted Cumulative Gain(归一化折损累计增益),他是用来评估排序结果的好坏,在推荐和搜索系统最为常见。
二、Hit Rate
分子是:用户的推荐列表里出现了ground truth的用户数,不在乎推荐对了几个东西,只要推荐对了一个,这个用户就算hit了。
三、Precision
四、Recall
当然还有其他评价指标,比如MAF等,代码实现见:https://github.com/ChadsLee/RS_Zoos/blob/main/utility/metrics.py
当推荐系统训练完成后,采用Top-K方法进行推荐的时候,通常为某用户返回一个item列表,假设列表长度为K,这时可以用NDCG@K评价该排序列表与用户真实交互列表的差距。如下举例: