问题标签 [mahout-recommender]
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.
java - Mahout TopItems 中的 NPE#getTopUsers
我正在使用 mahout 0.9 版。我在演示服务器上获得了 NPE,并带有以下堆栈跟踪。
p>根本原因
p>note Apache Tomcat/7.0.40 日志中提供了根本原因的完整堆栈跟踪。
Apache Tomcat/7.0.40
重启服务器后调试问题未重现。我已经下载了 Mahout 0.9 的源代码,但无法理解如何在TopItems.java:119使用 NPE,如果topItems Queue 为空,则可能是一种情况,但如果我正确理解方法中的代码,这是不可能的。有人可以帮我解决这个 NPE 吗?
感谢你们。
如果howMany参数为 0,则可以更新NPE ,但我使用的是 5。将研究它....
更新 2 howMany参数不能小于 1,因为它是在 NearestNUserNeighborhood 的构造函数中检查的。我没有更多的想法...... :(
hadoop - 需要澄清关于在 hadoop 中使用 mahout
我目前使用内存推荐 API 在 mahout 中实现了推荐器。但是,我想转向使用 hadoop 的分布式解决方案来计算离线推荐。这是我第一次使用 hadoop,我正在寻找有关一些概念和 api 用法的说明。
目前,我对hadoop的了解很少,我认为正确的方法如下:
使用 apache Drill 之类的东西来使用用户和项目数据填充 hdfs。
在来自 hdfs 的数据上使用 mahout train 中的推荐作业。
将 hdfs 中的结果数据转换为 solr 使用的索引分片
使用 solr 向用户群提供建议
但是,我正在寻找有关此设计的几个方面的说明:
我将如何以在内存实时推荐中使用的方式使用记分器?
调用推荐作业的最佳方式是什么?
除了这两个之外,我还有其他问题,但这些问题的答案将是一个巨大的帮助。
hadoop - mahout GenericUserBasedRecommender
我是新手Apache Mahout
。我很困惑GenericUserBasedRecommender
方法是如何工作的。例如:
结果是:
但是,如果我使用List<RecommendedItem> recommendations = cachingRecommender.recommend(12,5);
没有recommendations
。
列出的建议是由什么决定的?有阈值吗?
machine-learning - 为什么 mahout 中 mostSimilarItems 方法的结果不是按重量排序?
我有以下代码:
我的数据模型是这样的:uid itemid socre
当我运行上面的代码时,结果是这样的: 13 6 11 2 12 我调试代码,发现List items = Recommendationer.mostSimilarItems(10, 5); 返回的物品得分相同,即为一!所以,我有一个问题。在我看来,我认为最相似的item应该考虑item co-occurrence matrix:</p>
在上面的矩阵中,第 12 项最相似的应该是 [6,12,11,13,2],因为第 1 项和第 12 项比其他项更相似,不是吗?现在,谁能为我解释一下?谢谢!
dataset - 具有三个以上值的数据集
我打算使用apache Mahout创建一个推荐系统。我在互联网上搜索过它。我发现它对数据集文件使用以下格式。 用户 ID、项目 ID、偏好
我想用作数据集的结构是这样的。
ID、等级、位置、技能、费用
有什么办法我可以做到这一点?或者我必须使用Weka 它提供了创建自定义数据集的选项。但评论表明,与推荐系统的 mahout 相比,它不是一个好的选择。
mahout - Mahout RecommenderEvaluator 与 IDRescorer
我使用 RecommenderEvaluator 来估计 Mahout 的推荐效率。目前,我尝试使用 IDRescorer 改进推荐结果,这将对搜索的项目进行一些后处理提升。
Mahout 有什么方法可以告诉 RecommenderEvaluator 使用我的自定义 IDRescorer?
hadoop - 如何在 Eclipse 中将 mahout 与 hadoop 一起使用?
我想用 eclipse 用 mahout-0.9 和 hadoop-2.2.0 开发我的项目。
我可以使用 mahout-0.9 成功运行我的代码。但我面临的问题是如何使用 hadoop mod 运行我的项目?我想我必须在我的电脑上安装 hadoop,并使用命令来启动它。然后我可以使用 hadoop mod 在 eclipse 中运行我的项目。
由于 Mahout 可以MAHOUT_LOCAL
用来确定 linux 中的本地 mod 或 hadoop mod。但是当我将环境变量设置MAHOUT_LOCAL
为“”时,它也使用本地mod,为什么?
如果无法在 Eclipse 中使用 hadoop 运行 mahout,我该如何运行我的项目?谢谢:)
我的示例代码
collaborative-filtering - 隐式反馈推荐 - 不正确的结果
我是 mahout 的新手,我使用此处给出的 parallelALS 作业构建了一个隐式反馈推荐器。我的数据集的每一行都包含 user_id、product_id、preference_score(这是用户对产品的访问次数)。用户和产品 ID 的类型为 long。在过滤掉单次或两次访问后,我有一百万个此类数据点。
我基本上编写了一个 bash 脚本来运行“parallelALS”和“recommendfactorized”这两个作业,正如示例“factorize-movielens-1M”中所示。运行脚本后,生成的建议似乎有一个错误。结果的每一行的格式(如几篇博客文章中所述)似乎是:-
user_id [product_id:score,...]
但是每行中的所有 products_ids 都是 0。我不确定这里出了什么问题。这是数据集的问题还是调整参数(alpha、lambda 等)或其他问题?
mahout - mahout 0.9 中缺少 MySQLJDBCDataModel
我正在尝试使用从 mysql 读取的 DataModel。不幸的是,mahout 0.9 中缺少 MySQLJDBCDataModel 类。什么是替代方案?
java - Mahout 的跨实体、多输入推荐
我有许多布尔数据集,例如:
和
这意味着,user_id代表所有数据集中的相同实体(来自书籍的用户 id:1 与来自电影的相同用户 id:1)。
我需要的是根据输入(包括电影和书籍的 ID)创建建议用户列表(最好是有序且具有可见百分比)。
喜欢:
实体(书籍和电影)的 ID 不是唯一的,这就是我们单独存储这些数据集的原因(在 DB 表中,我使用 BooleanPref);
这很清楚如何使用例如GenericBooleanPrefItemBasedRecommender
.
是否可以使用 Mahout(具体为 0.9)来处理它,并有这种多输入建议?
谢谢!