推荐系统评测指标之RMSE、MSE
2016-03-17 16:53
519 查看
# -*- 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)
相关文章推荐
- ADB高级应用
- C++生成的exe,在非开发环境下运行报错
- 【UVA11324】The Largest Clique (SCC)
- jQuery获取Select选择的Text和 Value(转)
- asp.net signalR 专题—— 第三篇 如何从外部线程访问 PersistentConnection
- vba调用c#dll
- redis php sort 函数
- 日期类的实现
- linux 环境下mysql忽略大小写
- Android内存泄漏分析及实践(三)-leakCanary
- GeoGebra(数学图形计算器)
- 关于jsp+mysql+tomcat数据表格分页的解决方案
- UIWebView
- smack 登录openfire
- Android之简单本地音乐播放器
- Activity的四中启动模式
- SQLite 数据库获取添加记录后自增长的ID
- VB编程步骤 变量交换
- UICollectionView基本使用详解(OC)
- Spring基础