【问题标题】:about lightFM,How to embed the feature matrix and recommend new projects to user关于lightFM,如何嵌入特征矩阵并向用户推荐新项目
【发布时间】:2018-09-22 11:57:09
【问题描述】:

我的目标是拟合一个适合我个人数据的模型,并且我已经处理了数据并将其制成了三个文件: 交互矩阵(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)

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

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

【问题讨论】:

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


    【解决方案1】:

    我将首先解释您收到错误的原因: 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 个问题。

    【讨论】:

      猜你喜欢
      • 2020-08-25
      • 2017-04-19
      • 2022-12-14
      • 2011-09-29
      • 1970-01-01
      • 2017-09-27
      • 2019-04-27
      • 2013-05-04
      • 2021-12-08
      相关资源
      最近更新 更多