推荐系统评测指标3-覆盖率

覆盖率指能够推荐出来得物品占总物品的比例。
覆盖分布:每个被推荐的分布应该差不多。
Coverage = R(u)并集 / 总物品

方法一、信息熵

H= -sum(  p(i)log(p(i))  )  
其中 pi= sum(i)/sum(sum(i) )  #i 为第i个物品的流行度 / 所有物品流行度之和 

方法二、基尼系数
i 为第i个物品
G = sum((2j-n-1)p(ij)) /(n-1)


物品流行度p(ij) 按照流行度排序的第j个物品,给定物品流行度分布后的基尼系数。 
p = ((item,weight))
def Gini(p): 
         n=len(p)
         j=1
         for item,weight in sorted(p.items(),key=itemgetter(1)):
              G+=(2*j-n-1) * weight
               j=j+1 
         return G/float(n-1)     

赫希曼根据洛伦茨曲线提出的判断分配平等程度的[指标]。设实际流行度曲线和流行分配绝对平均曲线之间的面积为 A,实际流行度曲线右下方的面积为 B。并以 A 除以(A+B)的商表示不平等程度。

image.png

如果系统的流行度很平均,那么SA 就会很小,从而基尼系数会很小。

基尼系数最大为“1”,最小等于“0”。

基尼系数越接近0表明越是趋向平等。国际惯例把0.2以下视为绝对平均,0.2-0.3视为比较平均;0.3-0.4视为相对合理;0.4-0.5视为差距较大,当基尼系数达到0.5以上时,则表示收入悬殊。

你可能感兴趣的:(推荐系统评测指标3-覆盖率)