--- title: User Grouping keywords: fastai sidebar: home_sidebar summary: "Generate user groups for training group recommenders." description: "Generate user groups for training group recommenders." nb_path: "nbs/transforms/transforms.user_grouping.ipynb" ---
!wget -q --show-progress https://files.grouplens.org/datasets/movielens/ml-1m.zip
!unzip ml-1m.zip
ratings = pd.read_csv('ml-1m/ratings.dat', sep='::', engine='python', header=None)
ratings.head()
ratings.max()
group_generator = GroupGenerator(
user_ids=np.arange(6041),
item_ids=np.arange(3953),
ratings=ratings,
output_path='./data/silver',
rating_threshold=4,
num_groups=10,
group_sizes=[2, 3],
min_num_ratings=20,
train_ratio=0.7,
val_ratio=0.1,
negative_sample_size=10)
path = './data/silver'
fun = lambda x : os.path.isfile(os.path.join(path,x))
files_list = filter(fun, os.listdir(path))
size_of_file = [
(f,os.stat(os.path.join(path, f)).st_size)
for f in files_list
]
for f,s in size_of_file:
print("{:.1f}K: {}".format(round(s/(1024),3),f))