Hit Ratio(HR)
在top-K推荐中,HR是一种常用的衡量召回率的指标,计算公式为:
分母是所有的测试集合,分子表示每个用户top-K列表中属于测试集合的个数的总和。
举个简单的例子,三个用户在测试集中的商品个数分别是10,12,8,
模型得到的top-10推荐列表中,分别有6个,5个,4个在测试集中,
那么此时HR的值是(6+5+4)/(10+12+8) = 0.5。
如果还有一点不清晰的话,
推荐系统Top-K问题(或者HR@K, HR为hit ratio),需要划分训练集和测试集吗? - Estero的回答 - 知乎
问题是:推荐系统Top-K问题(或者HR@K, HR为hit ratio),需要划分训练集和测试集吗?
回答是:
也是需要的呀,不然没办法测算hit ratio。
比如我曾经购买了30个商品,如果全部作为训练集,那么当推荐系统给我推荐新商品时,我就没法判断是否推荐准确了。
反之,在曾经购买的购买了30个商品中,将其中20个商品作为训练集来训练推荐模型,然后基于top-10来推荐。此时,如果推荐的10个商品,和我剩余的那10个商品(去掉训练集)相同,那hit ratio就是100%;如果只包括了10个商品中的3个,那就是30%,以此类推。
这只是model评价的指标,线上不用这个。话说召回的结果线上也衡量不了。
参考:
[机器学习]评价指标:召回率(Recall)、准确率(Precision)、f1-score、Hit Ratio(HR)、NDCG、MAP(MARR)