首页 > 代码库 > 推荐系统常用测评指标

推荐系统常用测评指标

摘要:

  1.用户满意度

    在线测评方法

  2.预测准确率

    2.1评分预测

    2.2TopN推荐

  3.覆盖率(coverage)

  4.多样性

  5.新颖性  

内容:

1.用户满意度

   在线测评方法:主要通过用户行为的统计(点击,停留时间,转化率)或者通过用户反馈(满意,不满意)

  2.预测准确率

    2.1评分预测

   定义:预测用户对物品的评分的行为

   指标:
    均方根误差(RMSE):

    技术分享

    平均绝对误差(MAE):

    技术分享

   其中Rui是用户u对物品i的实际评分,hat(Rui)是推荐系统预测的用户u对物品i的预测评分;|T|是总记录数

    2.2TopN推荐

   定义:TopN推荐是通过给用户一个前N个喜好物品的推荐列表,TopN推荐的预测率一般通过准确率(precision)/召回率(recall)度量

   指标:

    准确率:

    技术分享

    召回率:

     技术分享

    其中R(u)是根据用户在训练集中的行为给出的推荐列表,T(u)是根据用户在测试集中的行为给出的推荐列表

    预测率:

     rate = Precision / Recall

  3.覆盖率(coverage)

   定义:度量了一个推荐系统挖掘长尾商品的能力

   指标:

    指标1:

    技术分享

    其中U是用户集合,I是物品集合,R(u)是为用户u推荐的N个物品的集合

    统计分布的指标:

    信息熵:

    技术分享,其中p(i)是物品i的流行度比上所有物品的流行度

    基尼系数:

    技术分享其中p(Ij)是降序的物品流行度字典的第j个物品的流行度

      

  4.多样性(Diversity)

    定义:推荐系统中物品两两之间的不相似性

    指标:

     用户u的推荐列表R(u)的多样性:

      技术分享,其中s(i,j)是物品i,j的相似度

     推荐系统的整体多样性:

     技术分享,即所有用户推荐列表多样性的平均值

 

  5.新颖性

      定义:给用户推荐以前没有接触过的物品的度量

      指标:平均流行度(越高,新颖性越低)

我的python代码:https://github.com/Tongzhenguo/Python-Project/tree/master/recommendsys/measurement_index

推荐系统常用测评指标