movielens处理代码

这一篇博客主要记录自己的代码是如何对movielens数据集进行处理的,想要达到的目的很简单,就是得到一个txt文件,形式如下:第一列为user,第二列为item,第三列为rating。

形如:movielens处理代码_第1张图片

要达到这样的目的该怎么处理呢,很简单。

  1. 到达movielens的下载官网,https://grouplens.org/datasets/movielens/,选择你要下载的数据集大小类型。
  2. 其中,有csv的,有dat的。怎么处理呢?由于我只需要用户项目和评分信息我只对ratings进行处理。
  3. 如果是csv,把代码文件与csv文件放在同一个目录下,代码如下:
  4. import math
    import random
    from numpy import *
    import numpy as np
    import sys
    import os
    from pandas import Series,DataFrame
    import pandas as pd
    from sklearn.model_selection import train_test_split
    import csv
    
    
    ratings_list = csv.reader(open('ratings.csv','r'))
    
    
    
    rating_file = []
    for item in ratings_list:
        rating_file.append(str(item[0])+' '+str(item[1])+' '+str(item[2])+'\n')
        
    filename = 'ratings.txt'
    with open(filename,'w') as f:
        for i in range(len(rating_file)):
            f.write(rating_file[i])

    如果是dat,代码如下: 

    import math
    import random
    from numpy import *
    import numpy as np
    import sys
    import os
    from pandas import Series,DataFrame
    import pandas as pd
    from sklearn.model_selection import train_test_split
    
    
    ratings = pd.read_table('ratings.dat', sep='::', header=None, engine = 'python')
    
    data = ratings.filter(regex='user_id|movie_id|rating')
    
    ratings_array = np.array(ratings)
    
    ratings_list = ratings_array.tolist()
    
    rating_file = []
    for item in ratings_list:
        rating_file.append(str(item[0])+' '+str(item[1])+' '+str(item[2])+'\n')
        
    filename = 'ratings.txt'
    with open(filename,'w') as f:
        for i in range(len(rating_file)):
            f.write(rating_file[i])
  5. 运行代码后,就可以得到我们需要的ratings数据集了~

你可能感兴趣的:(机器学习,机器学习,movielens)