使用Python隐式库生成推荐结果为空

我正在使用Python的隐式库(https://github.com/benfred/implicit),希望为我的用户基础生成一些产品推荐。我有来自用户基础的13,000条产品浏览数据。我已经将这些数据提取到一个如下所示的csv文件中:

user_id, 1, 2, 31, 0, 1, 02, 1, 1, 03, 0, 0, 1

上面的csv文件顶部是产品ID,第一列的左侧是用户ID。每位用户的1或0表示该用户是否浏览过该产品ID。以下是我目前尝试生成推荐的代码:

遗憾的是,当我运行代码时,结果只得到一堆空数组,这让我觉得我肯定做错了什么。我猜可能是导入数据的格式问题,但我很难找到关于读取到该库的示例数据格式的信息。


回答:

像这样加载数据时,您的交互矩阵仍然为每个项目/用户对保留了一个条目——这对于该库来说表示每个用户都喜欢每个项目。推荐调用默认情况下会移除已经喜欢的项目(通过filter_already_liked_items参数),导致结果像您看到的那样为空数组——但这也意味着您训练的模型也不会有任何效果。

您应该在拟合模型之前调用interactions.eliminate_zeros()来移除零条目。此外,与其使用CSV格式的密集矩阵并转换为coo格式,不如直接列出项目ID/用户ID/值的三元组可能会更简单。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注