问题标签 [recommender-systems]

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.

0 投票
1 回答
370 浏览

machine-learning - 我有两个计算“余弦相似度”的公式,有什么区别?

我正在做一个关于电影数据集余弦相似度的项目,我对计算余弦相似度的公式感到困惑。

在此处输入图像描述

但是我在网上搜索,有些文章显示分母是这样的: sqrt(A1^2+B1^2) * sqrt(A2^2+B2^2) * ... * sqrt(Ai^2+Bi^2 )

我很困惑,有什么区别?哪一个是正确的,或者两者都是正确的?

0 投票
1 回答
146 浏览

r - 基本 R cor() 函数的结果与Recommenderlab 包中的similarity() 函数的结果不同?

谁能解释为什么这两个相关矩阵返回不同的结果?

0 投票
1 回答
61 浏览

rapidminer - 在 Rapid Miner 中使用用户 K-NN 时出现问题

我正在尝试使用Rapidminer version: 9.3. 将UserK-NN操作符拖入进程后,抛出错误,说

输入示例集没有标签属性。

这是更多信息的屏幕截图。 错误的屏幕截图

关于如何摆脱错误的任何想法?

0 投票
1 回答
175 浏览

python-3.x - 场感知分解的矢量化实现

我想以矢量化的方式实现场感知分解模型(FFM)。在 FFM 中,通过以下等式进行预测

$ \sum_{j_1=1}^n \sum_{j_2=j_1+1}^n (\textbf{w}_{j_1, f_2}, \textbf{w}_{j_2, f_1}) x_{j_1} x_{j_2} $

其中 w 是依赖于特征和另一个特征的字段的嵌入。有关详细信息,请参阅FFM(4)中的方程式。

为此,我定义了以下参数:

现在,给定xsize的输入(batch_size, n_features),我希望能够计算前面的等式。这是我当前的(非矢量化)实现:

不出所料,这个实现非常慢,因为n_features很容易达到 1000!但是请注意,大多数条目x都是 0。感谢所有输入!

编辑:

如果它可以在任何方面有所帮助,以下是 PyTorch 中此模型的一些实现:

不幸的是,我无法弄清楚他们是如何做到的。

附加更新:

我现在可以通过以下方式以更有效的方式获得x产品W

因此,我的循环现在是:

然而,由于该循环进行了大约 500 000 次迭代,因此仍然太长。

0 投票
1 回答
802 浏览

python-3.x - LightFM 中的损失函数

我最近在学习训练推荐系统时遇到了 LightFM。到目前为止,我所知道的是它利用了逻辑、BPR、WARP 和 k-OS WARP 的损失函数。我没有仔细研究所有这些函数背后的数学。现在我很困惑的是,我怎么知道在哪里使用哪个损失函数?

0 投票
0 回答
34 浏览

python - 如何将数据框转换为数据透视表

我想创建一个包含用户(行)、项目(列)和评级(值)的数据透视表。有些用户对许多不同的项目进行了评分。我从 json 文件中提取数据,在创建数据透视表时,我不想聚合它们。

数据帧的输出是:

我希望我的数据透视表是这样的:

当我运行它时,出现错误:“没有要聚合的数字类型”

运行时,错误是:“索引 502966764 超出轴 0 的范围,大小为 502966644”

你能给我任何想法吗?先感谢您!

0 投票
1 回答
69 浏览

python - 如何在 Python 中将文章推荐器建模为 Q 学习问题

我想在 Python 中使用 Q-learning 实现一篇文章推荐器。例如,我们的数据集有四个类别的文章,包括健康、体育、新闻和生活方式,每个类别有 10 篇文章(总共 40 篇文章)。这个想法是向用户显示一些随机文章(例如,五篇文章,它们可以来自任何类别)并接收他/她的反馈。然后,代理了解用户的偏好(即文章的类别)并再次推荐一些相关的文章。

要将其表述为 RL 问题,我知道我应该定义动作、状态和奖励函数。研究了一些文章后,我想出了:

行动:推荐一篇文章;

状态:这个我不是很清楚,但是我从其他文章中了解到状态可以是:

a) 用户最近研究过的文章的踪迹;b) 用户兴趣(不确定这如何成为一种状态);

奖励:非常简单的奖励。如果用户研究推荐的文章,它可以是 +1 或无用的推荐 -1。

对于 Q 学习部分,我不确定如何制作包含状态作为行和动作作为列的 Q 表。

对于其他简单的 RL 问题,比如 MountainCar,开发 q-table 并不是那么困难,但是这里的状态不是很清楚的方式让我感到困惑。

如果您能帮助我提出一个解决方案,将其表述为 RL 问题,并用几行代码来启发我如何开始编写它,我将不胜感激。

0 投票
1 回答
735 浏览

python - 如何使用 panda 为推荐系统旋转大型数据集?

我正在做一个有 300,000 个用户和 280,000 个项目的推荐系统,人们通常通过将数据框转换为表格来做推荐系统:

df.pivot_table(index='User-ID',columns='Item-ID',values='Rating')

但是不可能将如此庞大的数据集转换为表格。处理这个问题的常用方法是什么?还是人们使用其他结构来做推荐系统?

0 投票
0 回答
62 浏览

python - 解析后我无法将数据写入文件,我不断收到错误字符串索引必须是整数

我有 stocktwits 数据,我正在尝试通过标记来转换文本文件。我正在尝试使用 .json 读取 json 格式json.loads(line)

这是错误:

数据需要写入文件。

编辑:代码中的其他函数没有被执行,这就是数据格式不正确的原因!!

0 投票
1 回答
1237 浏览

architecture - 如何将我的推荐系统集成到我的网站中?

我正在为我的网站构建一个推荐系统,在该系统中,用户将根据他们在我的网站上访问产品的选择获得推荐。类似的产品会推荐给用户。但是,我已经完成了我的机器学习部分并测试了结果。

我期待部署这种机器学习模型,它会在我的网站上为用户生成一组建议。我正在寻求建筑解决方案/技术解决方案的帮助,以在网站上部署此模型。由于推荐必须是实时推荐,因此模型必须不断地从用户的实时数据中学习。

目前我的用户数据来自不同的服务器,而该服务器的问题在于,由于它是第三方服务,需要 24 小时以上才能访问该数据。这很好,虽然我需要数据来构建机器学习模型,但对于实际部署,无法利用此服务器。

我应该考虑建立自己的服务器吗?如果在那种情况下,我可以利用什么技术?我真的在为此寻找 IT 解决方案。

任何指导将不胜感激!