推荐系统评测指标之RMSE、MSE

# -*- coding:utf-8 -*-
from loadMovieLens import *
import math
'''
评测指标
RMSE:均方根误差
MAE:平均绝对误差
'''
def getRMSE(prefer1,prefer2):
    rmse = 0
    for key1,value in prefer1.items():
        zonghe = 0
        #迭代测试集,并与结果集进行比较
        for key,value in prefer1[key1].items():
            temp = pow(value - prefer2[key1][key],2)#算两点的平方
            zonghe += temp
        rmse += math.sqrt(zonghe)/len(prefer1[key1])
    return rmse/len(prefer1)
def getMSE(prefer1,prefer2):
    mse = 0
    for key1,value in prefer1.items():
        zonghe = 0
        #迭代测试集,并与结果集进行比较
        for key,value in prefer1[key1].items():
            temp = abs(value - prefer2[key1][key])#计算两点之间的绝对值
            zonghe += temp
        mse += zonghe/float(len(prefer1[key1]))
    return mse/float(len(prefer1))
if __name__=='__main__':
    prefer1 = loadMovieLensTest()
    prefer2 = loadResult("D:/数据集/movieLens/result.txt")
    #print getRMSE(prefer1,prefer2)
    print len(prefer1)
    print getMSE(prefer1,prefer2)





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值