我想向使用 lightfm 的新用户推荐。
嗨,我有模型、交互、item_features。新用户不在交互中,新用户的唯一信息是他们的评分。(book_id 和评分对列表)
我尝试使用 predict() 或 predict_rank(),但我不知道如何使用。你能给我一些建议吗?
下面是我的截图,它引发了 ValueError ..
我想向使用 lightfm 的新用户推荐。
嗨,我有模型、交互、item_features。新用户不在交互中,新用户的唯一信息是他们的评分。(book_id 和评分对列表)
我尝试使用 predict() 或 predict_rank(),但我不知道如何使用。你能给我一些建议吗?
下面是我的截图,它引发了 ValueError ..
我遇到了同样的问题,我所做的是
使用 Dataset 类创建了一个 user_features 矩阵(基于他们的偏好)
dataset = Dataset()
dataset.fit(user_ids,item_ids)
user_features = build_user_features([[user_id_1,[user_features_1]],..], normalize=True)
在培训期间提供它以及交互 CSR
model = LightFM(loss='warp')
model = model.fit(iteraction_csr,
user_features=user_features)
使用他们的偏好为新用户创建 user_feature 矩阵(在我的情况下为流派)
dataset.fit_partial(users=[user_id],user_features=total_genres)
new_user_feature = [user_id,new_user_feature]
new_user_feature = dataset.build_user_features([new_user_feature])
现在使用 new_user 特征预测项目排名
scores = model.predict(<new-user-index>, np.arange(n_items),user_features=new_user_feature)
这为新用户提供了相当不错的结果,但不如纯 CF 模型好。
这就是我实现它的方式。