首页 > 其他 > 详细

协同过滤代码---loadMovieLens.py文件

时间:2016-07-13 13:52:37      阅读:175      评论:0      收藏:0      [点我收藏+]
#coding=utf-8

import sys
import os

##==================================
#         加载指定的训练集文件
#  参数fileName 代表某个训练集文件
##==================================
def loadMovieLensTrain(fileName=‘u1.base‘):
    str1 = ‘./movielens/‘                         # 目录的相对地址
    
    prefer = {}
    for line in open(str1+fileName,‘r‘):       # 打开指定文件
        (userid, movieid, rating,ts) = line.split(‘\t‘)     # 数据集中每行有4项
        prefer.setdefault(userid, {})      # 设置字典的默认格式,元素是user:{}字典
        prefer[userid][movieid] = float(rating)    

    return prefer      # 格式如{:‘user1‘{itemid:rating, itemid2:rating, ,,}, {,,,}}


##==================================
#        加载对应的测试集文件
#  参数fileName 代表某个测试集文件,如u1.test
##==================================
def loadMovieLensTest(fileName=‘u1.test‘):
    str1 = ‘./movielens/‘    
    prefer = {}
    for line in open(str1+fileName,‘r‘):    
        (userid, movieid, rating,ts) = line.split(‘\t‘)   #数据集中每行有4项
        prefer.setdefault(userid, {})    
        prefer[userid][movieid] = float(rating)   
    return prefer                   


if __name__ == "__main__":
    print ("""这个部分可以进行上面2个函数测试 """)
    
    trainDict = loadMovieLensTrain()
    testDict = loadMovieLensTest()

    print (len(trainDict))
    print (len(testDict))
    print (""" 测试通过 """)

协同过滤代码---loadMovieLens.py文件

原文:http://www.cnblogs.com/blueyyc/p/5666470.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!