最近在做用Mvielens100K数据集做推荐系统算法训练,为了在不同高度的稀疏度当中获得实验结果必须对原数据集进行进一步筛选。
于是有了下面这个指定数据集稀疏度代码。
基础数据格式是python pandas里的DataFrame,和numpy的array。
因为需要做的是稀疏度到98%的300*500,3000条记录的稀疏数据集,所以平均每个用户是10条。
Temp的含义是不够3000可以额外增加至3000(记录缺失条数)
只不过此模块还没完善但是已经达到要求所以没有继续优化。
下附源码供大家参考:
import pandas as pd
import numpy as np
import random
import operator
'''
数据初始化操作
'''
#设置显示行数
pd.set_option('display.max_rows',200)
'''
正式开始
'''
#从CSV文件导入数据
train =pd.read_csv('D:\\train.csv')
#基础设定
train.set_index(['userid','movieid'],drop=True