Набор данных представляет предпочтения пользователя в группе фильмов. Цель состоит в том, чтобы получить 80%
рейтинга каждого пользователя для обучения.
Если установить индекс всего фрейма данных и разделить его на 80%, нет гарантии, что он даст 80% от каждого пользователя.
smple_size <- floor(0.8 * nrow(df))
train_ind <- sample(seq_len(nrow(df)), size = smple_size)
train.shared <- df[train_ind, ]
test.shared <- df[-train_ind, ]
Это даст 80% всего фрейма данных. Но каждый пользователь мог оценить разное количество фильмов.
movie_id, user_id, rated_value, feature_1, feature_2, genre, user_gender, user_ethnicity
101, 345, 3.5, 1, 1, comedy, male, white
101, 345, 3.5, 1, 2, comedy, male, white
101, 345, 3.5, 2, 1, comedy, male, white
125, 345, 4.5, 1, 4, drama, male, white
101, 233, 4.0, 1, 3, comedy, female, black
101, 233, 4.0, 2, 2, comedy, female, black
125, 233, 3.0, 1, 1, drama, female, black
125, 233, 3.0, 2, 2, drama, female, black
125, 333, 3.0, 1, 1, comedy, male, asian
125, 333, 3.0, 2, 2, comedy, male, asian