问题标签 [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 回答
156 浏览

java - 使用 Epinions 数据集和 Moletrust 推荐系统

我正在改编来自https://github.com/466152112/HappyResearch/blob/master/happyresearch/src/main/java/happy/research/utils/MoleTrust.java 的Moletrust 算法实现的开源代码应该使计算信任值改编自 Moletrust 创建者撰写的这篇论文“Trust-aware Collaborative Filtering for Recommender Systems”。他们按如下方式计算信任度:“距离源用户为 n 的用户将具有 (d - n + 1)/d 的预测信任值”,其中 d 是最大传播距离。我得到的结果是 1 或零,这是不正确的。希望你能帮我找出错误。

0 投票
1 回答
756 浏览

python - LightFM 建议:与交互数据不一致的错误

我有以下带有 LightFM 推荐模块的基本代码:

这将返回以下错误:

奇怪的是,对交互数据进行一些更改使其工作,如下所示:

有人可以帮我吗?

0 投票
1 回答
143 浏览

recommendation-engine - SVD 的建议

我实际上是在 LIRIS(计算机科学研究实验室)的实习船上,我研究推荐系统。我的实习船主管让我做一个关于推荐电影的演讲,感谢 SVD 明天。所以我了解到了这一点。

我认为我理解了 A = US(V^T) 的数学部分,但对于下一步(推荐电影),有些事情对我来说并不是很清楚。我发现了很多知识,但我的头脑并不清楚:D

我不明白 SVD 是计算矩阵 A 中缺失的数字(预测未评价电影的用户的评分),还是我们需要一个密集矩阵 A,将其分解为 3 个矩阵来推荐电影?

对于第一种情况,它是如何工作的?因为我对此一无所知...其次,3个矩阵如何帮助我们推荐电影?我不明白分解矩阵和推荐电影之间的联系。

如果有人可以帮助我,我将非常感激:)

PS:对不起英语,我是法国学生:D

0 投票
1 回答
288 浏览

r - 使用 R - 推荐实验室,无法将结果输入 Microsoft SQL Server 的数据框

这是我在此的头一篇博文。当谈到 R 时,我是一个新手,所以请记住这一点。我正在使用 CRAN 的推荐实验室库构建推荐系统(基于用户内容的过滤)。

我正在尝试sp_execute_external_script与 SQL Server 2016 一起使用,但无法将结果放入数据帧(存储过程需要)以返回结果。

在那之前一切正常。我尝试过 as.matrix、as.data.frame,使用了多种方法。

这是我的代码:

任何人都可以帮忙吗?

我尝试使用 as.data.frame()、as.matrix() 写入文件,而不是使用 write.table、lapply、writeLines....

谢谢!

0 投票
1 回答
397 浏览

python - 个性化协同过滤

我正在研究推荐引擎。我已经使用 Python 惊喜库测试了基于用户的协作过滤 (CF) 和基于项目的 CF。但是,我想测试一种协作过滤(用户和项目)方法,其中要确定的最近邻居不是基于评级的相似性。事实上,我已经建立了用户资料和物品资料。

具体来说,我想:

  • 用户协同过滤以获取特定用户,找到与该用户相似的用户(基于类型配置文件与当前用户之间的相似性,然后一旦识别出最近的典型配置文件,我们就会找到属于该用户的 k 个最近邻居识别类型配置文件;相似性不是基于评级)并推荐那些相似用户喜欢的项目。

  • 基于项目的协同过滤也是如此

这个想法是要知道对用户和项目的全面了解是否会改进推荐引擎。

有人会想到如何在 Python 中做到这一点?

祝贺你

0 投票
2 回答
1033 浏览

python - 训练数据并获得每个特征的权重

我们正在开发一个推荐系统,我得到的问题可能是向量本身。

所以,目前公司已经有了向用户列出推荐列表的功能,但是他们使用的每个功能的权重是手动定义的。所以我们决定先训练数据,然后用机器学习的方法获得权重。然后得到用户的反馈,作为下一个推荐预测的标签。

  1. 是否有任何理想可以为每个功能获得最佳权重?比如grid_search,梯度下降?

  2. 我认为我们不能扁平化(sklearn:一种热编码或 pandas:get_dummies)值是向量的特征。因为我想获得特征的权重,而不是 subfeature_1,subfeaturevalue_2。那么,flatten在这里是行不通的,我得试着改变距离来做呢?但是如何将它们组合在一起(改变距离函数并使用grid_search)?

0 投票
0 回答
148 浏览

r - 带有 R 的电影流行度推荐代码

我现在正在学习 R,现在正在做关于电影推荐算法的项目。我在推荐实验室库中使用了 movielense 100k 数据,并使用了这些教程。 https://mitxpro.mit.edu/asset-v1%3AMITProfessionalX+DSx+2017_T1+type@asset+block@Module4_CS1_Movies.pdf https://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab .pdf

我现在计算了稀疏性,并将数据拆分为训练数据和测试数据。我想制作人气推荐代码。我的代码在这里:

我使用了data2 realRatingMatrix,但是当我运行最后一行时,会发生这样的错误:

(函数(类,fdef,mtable)中的错误:无法找到签名“整数”的函数“推荐者”的继承方法</p>

有人可以帮我看看有什么问题吗?

0 投票
1 回答
293 浏览

python - 稀疏性降低

我必须分解一个大的稀疏矩阵(代表用户的 650 万行 * 代表项目的 650 万列)来查找用户和项目的潜在向量。我在 spark 框架(pyspark)中选择了 als 算法。为了提高质量,我必须将矩阵的稀疏性降低到 98%。(当前值为 99.99%,因为我只有 3.56 亿个已填写条目)。我可以通过删除行或列来做到这一点,但我必须找到最大化行数(用户)的最佳解决方案。主要问题是我必须找到一些用户和项目集的子集,删除一些行可以删除一些列,反之亦然,第二个问题是评估稀疏性的函数不是线性的。我可以通过哪种方式解决这个问题?python中的哪些库可以帮助我?谢谢你。

0 投票
2 回答
3338 浏览

r - sample.int(length(x), size, replace, prob) 中的错误:“size”参数无效;当我使用评估方案时

我想用包的功能评估我的模型Recommenderlab

但我不明白为什么我有这个错误

sample.int(length(x), size, replace, prob) 中的错误:“size”参数无效

0 投票
1 回答
88 浏览

python - 基于内容的过滤推荐系统中连续特征的处理错误

我有一个基于内容的推荐器,它可以工作......很好。我相当确定这是解决这个问题的正确方法(将已建立的“用户”与几乎总是新的“项目”匹配,但包含与现有项目相似的已知功能)。

在我研究的过程中,我发现几乎所有基于内容的过滤示例都使用文章/电影作为示例,并且只关注使用来自文本块的编码 tf-idf 特征。这并不是我要处理的问题,但我的大部分特征都是布尔特征,所以制作一个相似的向量并查看余弦距离并不是特别困难。我还有一个连续特征,我对其进行了缩放并包含在向量中。正如我所说,它似乎有效,但非常不稳定,我想我知道部分原因......

我正在使用的连续功能是评分(我们称之为“美味”),其中,几乎在所有情况下,更好的分数表明项目对用户更有利。它是连续的,但它也有一个明确的“方向”(不确定这是否是正确的术语)。一个方向的错误与另一个方向的错误不同。

我有一些用户对“美味”分数平庸的项目给予高评价的案例,但从逻辑上讲,他们仍然更喜欢更美味的东西。该用户的向量可能具有 2.3 的平均美味。我对余弦距离的理解是,在我的模型中,如果该用户遇到两个完全相同的新项目,除了一个具有 1.0 的美味,另一个具有 4.5 的美味,它实际上会偏爱前者,因为它更短向量之间的距离。

我如何在此处修改或合并某种其他类型的距离度量,以考虑到一个方向的美味误差/距离与另一个方向的误差/距离不同?

(作为第二个问题,我如何决定如何最好地在我的布尔特征旁边缩放这个连续特征?)