推荐系统评测指标2-预测准确度

1 评分预测:预测用户对物品的评分

RMSE均方根误差=实际评分差的平方的平均数,再开根号
MAE均方根误差=实际评分差的平均数
RSME 加大了对预测不准的用户物品评分的惩罚,因而对系统的惩罚更加苛刻。

def RSME(records):
      allsum= sum(pow(real - predict,2) for real, predict in records) 
      avg = allsum / float(len(records))
      return math.sqrt(avg)   

def MAE(records):
      allsum = sum(abs(real - predict) for real, predict in records) 
      avg = allsum  / float(len(records))
      return math.sqrt(avg)   

2 TopN 推荐的预测准确率

网站在提供服务时,一般会给用户一个个性化的推荐列表。
召回率: 准确的有多少个被预测出来了
预测集中个数^实际集中个数/实际集中个数
准确率: 预测中有多少个准确的
预测集中个数^实际集中个数/预测集中个数

def recall(tests, N):
     for user,items in tests.items():
           topN = GetTopN(User,N)
           Hit += useritems & topN     # set 交集 累加 
           real_total  += items  # 实际集中数目累加
           predict_total += N  # 预测集中累加,每次预测N ,则每次加 N  
     recall =  hit/ real_total  
     precision =  hit / predict_total 

你可能感兴趣的:(推荐系统评测指标2-预测准确度)