问题标签 [lightfm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 无法安装 Lightfm
这是我尝试安装某些库时遇到的错误。我已经尝试将我的 pip 更新到最新版本。我正在使用 python 3.8.5
python - 如何为 LightFM fit 建立交互?
我想用如下所示的 Dataframe 训练 LightFM。
FromUserID | 标题 | 邮政编号 | 意见 | 喜欢 |
---|---|---|---|---|
1 | 蟋蟀 | 34 | 12 | 8 |
6 | 移动的 | 37 | 11 | 6 |
3 | 电视 | 34 | 8 | 5 |
5 | 世贸中心决赛 | 30 | 6 | 5 |
我已经用 Views 列训练了模型(工作正常),但还想添加 Likes 列。我已经看过很多例子,但是我仍然无法理解如何根据我拥有的数据框训练模型。
以下是我到目前为止尝试过的代码片段,
如何使用 Views 和 Likes 列训练模型?
任何有助于我理解的建议或代码片段都将不胜感激。谢谢你
python - 拟合“LightFM”推荐器后如何获取项目特征的权重?
我真正需要的是 feature_importance 之类的东西。最后我明白了如何得到它:
要手动从 Light FM 获得分数,我们必须乘以以下矩阵:
user_features_matrix * item_features_matrix * item_embedings * user_embedings = Light FM 的分数
因此,要获得用户特征权重,我想我们应该这样做:
user_features_matrix * item_features_matrix * user_embedings = item_weights
我们懂了。权重有助于对每个项目的重要特征进行排序。
要获取嵌入,请使用以下函数:
user_embedings = model.get_user_representations
item_embedings = model.get_item_representations
user_features_matrix = the matrix we used to fit the model
item_features_matrix = the matrix we used to fit the model
python - 如何制作与字符串值对应的整数索引?
我目前正在使用 Goodreads 数据构建推荐系统。
我想将字符串用户 ID 更改为整数。当前的用户ID是这样的:'0d688fe079530ee1fe6fa85eab10ec5c'
我想将其更改为整数(例如,,,1
... 2
)3
,以具有共享相同字符串 ID 的相同整数 ID。我考虑过使用 function df.groupby('user_id')
,但我不知道如何做到这一点。
如果有人让我知道如何更改,我将非常感激。
python - 如何从传递到稀疏矩阵的 id 中获取索引?
尝试使用 LightFM 的预测,但是它需要行/用户的内部 id 和列/项目的内部 id。一个 coo 矩阵被传递到 lightfm 中。
我将 3 个 numpy 数组传递给了 COO 矩阵。但是我不能获取该数组中的索引,因为它与 coo 矩阵的索引不同。
因此,如果我想对用户/行进行预测,如何获取其 db id 并将其与内部 coo 矩阵行索引相关联?
例如model.predict(internal_user_ix)
python - 使用 lightfm 预测新用户
我想向使用 lightfm 的新用户推荐。
嗨,我有模型、交互、item_features。新用户不在交互中,新用户的唯一信息是他们的评分。(book_id 和评分对列表)
我尝试使用 predict() 或 predict_rank(),但我不知道如何使用。你能给我一些建议吗?
下面是我的截图,它引发了 ValueError ..
machine-learning - 具有项目特征的 LightFM 不学习
我正在尝试使用我在数据集中拥有的功能来训练 LightFM 推荐器模型。我的数据如下所示: 训练和测试交互数据:shape = (730799, 115552) 我负责删除测试数据中的交互,因为我正在尝试检查关于看不见的项目的建议。我从数据中的两个特征构建了一个特征矩阵,并将 itemId 添加为虚拟特征,这样我的项目特征矩阵的形状变为(115552、115659)。
我正在这样定义我的模型:
我运行了不同数量的组件,一次运行了 50 个 epoch,并计算了验证 AUC,如下所示。如您所见,在所有情况下,验证 AUC 仅在几次迭代 (2-3) 后达到峰值并下降。
作为交叉检查,我也只运行了虚拟特征,即项目的单位矩阵。由于我试图预测看不见的项目,AUC 性能很糟糕,但至少它是有意义的,并且会随着迭代次数的增加而增加,如下所示。
为什么具有附加功能的模型不学习任何东西,即。两三次迭代后下降?有没有其他的把手可以用来解决这个问题?
python - 如何为 LightFM 推荐模型构建 dataset.build_item_features?
我正在使用 LightFM 对推荐系统进行建模,并尝试在 Steam 数据上构建数据集。我最初的部分代码如下:
当我运行 dataset.builf_item_features 时,我收到以下错误,即 app_name 不适合数据集,即使我之前在该功能上调用了 fit_partial。
有人可以帮我吗?
python - 对于任何用户 lightfm 的新交互,在 fit_partial 之前和之后的建议都是相同的
对于任何用户,假设出现了一些新的交互,然后我使用 partial_fit 仅使用新的交互数据来拟合数据集和模型,并且在部分拟合该用户之前和之后我得到相同的结果。