2

我的目标是拟合一个适合我个人数据的模型,并且我已经处理了数据并将其制作为三个文件:交互矩阵(394*2188);项目特征矩阵(5241*5241);用户特征矩阵(1043*1043);我已将它们全部转换为稀疏矩阵,并且我的两个特征矩阵都包含比交互更多的内容。当我通过这些数据拟合模型并进行预测时,有我的代码和错误:代码:

model = LightFM(loss='warp')
model.fit(data,item_features=items,user_features=users,epochs=30, num_threads=2)
evaluation.auc_score(model,data)

错误: 引发 ValueError('item_features 中的特征数量不正确') ValueError:item_features 中的特征数量不正确

  1. 如何转换交互矩阵的用户和项目小于特征矩阵的数据
  2. 如何向所有用户(包括新用户)推荐新旧项目
4

1 回答 1

2

我将首先解释您收到错误的原因: raise ValueError('Incorrect number of features in item_features') ValueError: Incorrect number of features in item_features

由于您的代码的最后一行,可能发生了此错误

   evaluation.auc_score(model,data)

如果您在此处查看文档:https ://lyst.github.io/lightfm/docs/lightfm.evaluation.html

您会看到您还需要提供 user_features=users 和 item_features=items 作为 auc_score 的参数(当您在 model.fit 中使用用户和项目特征时)

即固定版本可能看起来像

      evaluation.auc_score(model, data, user_features=users and item_features=items)

修复该错误后,我们可以仔细查看您的另外 2 个问题。

于 2019-03-05T20:21:06.077 回答