我有一个像这样的数据框:
user_id anime_id user_rating
0 1 20 7.808497
1 3 20 8.000000
2 5 20 6.000000
3 6 20 7.808497
4 10 20 7.808497
它看起来像是与推荐系统一起播放的基本数据框。
我有大约700万行,我像这样减少了数据框:
df = df[df["user_id"] < 2000]
让我们打印n_users,n_items,我当然有1999个用户,并且有〜6000items
我有2个问题。 如果我想建立这样的训练数据集:
ratings = np.zeros((n_users, n_items))
for row in df.itertuples():
ratings[row[1]-1, row[2]-1] = row[3]
使用ratings = np.zeros((n_users, n_items))
,我得到了一个庞大的矩阵,导致内存错误。
如果我过滤了一些样本,则会遇到第二个问题,该行不会返回内存错误,但是我有一个 IndexError
像这样:IndexError: index 950 is out of bounds for axis 0 with size 949