关于lightFM,如何嵌入特征矩阵并向用户推荐新项目

时间:2018-04-12 10:54:36

标签: python matrix machine-learning python-module recommender-systems

我的目标是使用适合我个人数据的模型,并处理数据并制作三个文件: 相互作用矩阵(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. 如何向所有用户(包括新用户)推荐新旧商品

1 个答案:

答案 0 :(得分:0)

我将首先解释为什么会出现错误: 提高ValueError('item_features中的功能数量不正确')ValueError:item_features中的功能数量不正确

此错误可能是由于代码的最后一行引起的

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

如果您在此处查看文档:{​​{3}}

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

即固定版本可能看起来像

docker-compose build --build-arg buildtime_variable=new_value <container name>

一旦您纠正了该错误,我们就会仔细检查您的其他2个问题。