码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-07-13 13:53:30      阅读:139      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!