用MovieLens数据集做推荐(Python推荐系统二)
来源:互联网 发布:ubuntu安装pyqt4 编辑:程序博客网 时间:2024/06/06 03:55
思路:下载MovieLens的数据集,对数据集进行函数定义,定义各数据列的名称,根据上一篇Python写出简单的推荐系统(一) 文中的recommendations.py 的用户相似度进行推荐。
下载MovieLens的地址:http://grouplens.org/datasets/movielens/(选择ml-100k.zip), 下载后的路径可以是和recommendations.py相同,也可是任意Python下面的其他地方,后面会针对两种情况做相关说明。
将下列Python 代码添加到之前recommendations.py 里面:
def loadMovieLensTrain(filename='u1.base'): str1 ='./ml-100k/' #加载数据 prefs={} for line in open(str1+filename,'r'): (user,movieid,rating,ts)=line.split('\t') prefs.setdefault(user,{}) prefs[user][movieid]=float(rating) return prefsdef loadMovieLensTest(filename='u1.test'): str1 ='./ml-100k/' #加载数据 prefs={} for line in open(str1+filename,'r'): (user,movieid,rating,ts)=line.split('\t') prefs.setdefault(user,{}) prefs[user][movieid]=float(rating) return prefs if __name__=="__main__": print ("""这个部分可以进行上面2个函数测试""") trainDict= loadMovieLensTrain() testDict = loadMovieLensTest() print (len(trainDict)) print (len(testDict)) print ("""测试通过""")
这里的str1=’./ml-100k/’ 表明的是相对路径,此时的ml-100文件夹必须是和recommendations.py 文件一个路径。如果不在一个路径,因为运行的最终是recommendations.py文件,所以用的是ml-100k 全路径名,例如:
str1:’E:/Python/ml-100k’
先运行进行了更新的recommendations.py 文件,得到测试的结果:
>>>
这个部分可以进行上面2个函数测试
943
459
测试通过
表明函数式正确的,如果出现提示说’u1.base’ 或’u1.test’的格式不能读取,则可用Notepad++ 修改格式。(具体见Notepad++修改文件编码格式)查看loadMovieLensTrain里的列表
>>> import recommendations
>>> prefs =recommendations.loadMovieLensTrain()
>>> prefs['1']
返回所有对应的评分数据列表
对id号为1的用户推荐三个物品:
>>>recommendations.getRecommendations(prefs,'1')[0:3]
[(5.000000000000001, '1293'), (5.0,'1653'), (5.0, '1599')]
参考资料:http://blog.csdn.net/database_zbye/article/details/8664516
- 用MovieLens数据集做推荐(Python推荐系统二)
- 用MovieLens数据集做推荐(Python推荐系统二)
- 推荐系统-基于用户的最近邻协同过滤算法(MovieLens数据集)
- 推荐系统-基于用户的最近邻协同过滤算法(MovieLens数据集)
- 数据挖掘-matlab实现基于MovieLens数据集的协同过滤电影推荐系统
- 推荐系统系列---基于movielens数据集的KNN算法与矩阵分解算法比较
- 数据挖掘-MovieLens数据集_电影推荐_亲和性分析_Aprioro算法
- 新闻个性化推荐系统(python)-(附源码 数据集)
- 推荐系统(二)
- 【推荐系统】推荐系统常用数据集
- 推荐系统数据集
- MovieLens 《用Python进行数据分析》
- Parallel-ALS推荐算法(factorize-movielens-1M)(转载)
- 推荐系统常用数据集
- 推荐系统常用数据集
- 推荐系统常用数据集
- 文章推荐系统(二)
- 《推荐系统实践》二刷开始,顺便做个规划
- NAT的完全分析及其UDP穿透的完全解决方案
- SQL的内连接与外连接
- jQuery获取radio选中项的值
- calculate the square of a number
- Hello world!
- 用MovieLens数据集做推荐(Python推荐系统二)
- 张朝阳再造搜狐:从幕后到台前 大刀阔斧改革门户
- Tomcat Catalina.bat详解
- Windows 7下硬盘安装Ubuntu 14.04图文教程
- OC的Foundation框架-字符串(NSString与NSMutableString)
- 如何在两层服务器的第二层Nginx上获取用户IP
- MySQL高可用解决方案(MySQL HA Solution)
- Class Visualizer
- 栈--判断出栈序列是否合法