问题标签 [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.

0 投票
1 回答
839 浏览

mahout - 运行 JesterRecommenderEvaluationRunner,但没有得到评估结果

我在 Mahout 中下载了 Jester 示例代码,并尝试在 jester 数据集上运行它以查看评估结果。运行成功,但控制台只有结果:

我希望看到评估分数范围从 0 到 10。任何人都可以帮助我找出如何获得分数?

我正在使用 mahout-core-0.6.jar,以下是代码:

}

}

}

0 投票
1 回答
404 浏览

mahout - Mahout - 项目相似性,但排除用户已经“购买”的项目

我想创建一个视频推荐器,通过相似度进行推荐。挑战在于,我想排除用户已经看过的视频。这对我来说似乎是一个非常明显的案例,但我没有发现它被覆盖。

任何提示表示赞赏!

0 投票
2 回答
28011 浏览

mahout - 基于项目和基于内容的协同过滤有什么区别?

我对基于项目的推荐是什么感到困惑,如《Mahout in Action》一书中所述。书中有算法:

如何计算项目之间的相似度?如果使用内容,不就是基于内容的推荐吗?

0 投票
1 回答
1109 浏览

hadoop - 如何使用 Mahout/Hadoop 评估推荐者

Mahout 带有许多预定义的 Hadoop 作业类(从 AbstractJob 派生的东西)。其中包括计算推荐的作业 (RecommenderJob)。Mahout 还定义了各种 RecommenderEvaluator 用于测试这些建议,但我不清楚如何使用 Hadoop 以分布式方式运行这些建议。

是:运行推荐工作,然后将其输出提供给评估器?我查看了 RMSRecommenderEvaluatorTest,但这似乎一举完成,而且看起来不像 Hadoop 工作。

0 投票
1 回答
298 浏览

mahout - 为新数据集扩展 Mahout

我想建立一个基于 Mahout 的推荐模型。我的数据集格式有除 userID、itemID、rating 和 timestamp 之外的额外列。因此,我认为我需要扩展 FileDataModel。

我以JesterDataModel为例。但是,我的逻辑流程有问题。在它的buildModel()方法中,首先构造一个空的地图“数据”。然后将其扔到 processFile 中。我假设在这个方法中修改了“数据”,因为后来它被用来构造GenericDataModel 但是,数据是局部变量而不是类变量,那么它是如何修改的呢?

0 投票
2 回答
557 浏览

hadoop - Mahout 数据模型具有重复的用户、项目输入但不同的偏好值

我想知道分布式 mahout 推荐器作业如何org.apache.mahout.cf.taste.hadoop.item.RecommenderJob处理存在重复和三重用户、项目条目但具有不同偏好值的 csv 文件。例如,如果我有一个 .csv 文件,其中包含以下条目

1,1,0.7
1,2,0.7
1,2,0.3
1,3,0.7
1,3,-0.7

Mahout 的数据模型将如何处理这个问题?它会总结给定用户、项目条目的偏好值(例如,对于用户项目 1,2,偏好将是 (0.7 + 0.3)),还是对这些值进行平均(例如,对于用户项目 1,2,偏好是(0.7 + 0.3)/2) 还是默认为最后一个用户,它检测到的项目条目(例如,对于用户 1,2,首选项值设置为 0.3)。

我问这个问题是因为我正在考虑基于多个偏好指标(项目视图、喜欢、不喜欢、保存到购物车等)的建议。如果数据模型将偏好值视为线性权重(例如,项目视图加上保存到愿望清单具有比项目视图更高的偏好分数),这将是有帮助的。如果 datamodel 已经通过求和来处理这个问题,它将为我节省额外的 map-reduce 来根据多个指标进行排序和计算总分的繁琐工作。任何人都可以就 mahout .csv 数据模型在这方面提供的任何澄清org.apache.mahout.cf.taste.hadoop.item.RecommenderJob将不胜感激。谢谢。

0 投票
1 回答
239 浏览

java - mahout 是实时工作还是根据算法规则对数据进行预处理?

我正在尝试构建一个推荐引擎,因为我正在考虑使用 apache mahout,但我无法确定 mahout 是实时处理数据还是在服务器空闲时预处理数据并存储结果数据库中的某处。

还有人知道像亚马逊、Netflix 这样的网站采用什么方法吗?

0 投票
1 回答
172 浏览

mahout - Myrrix 中的多个模型

我有一个这样的 CSV 文件:

这里,typeA、typeB 和 typeC 是 3 种不同类型的实体。将类型 B 和 C 视为两种不同类型的项目,并将类型 A 视为用户。

我可以通过将此 CSV 文件输入 Myrrix 来构建模型。这个文件只有两种类型,B(前 CSV 文件中的“B”项作为用户在这里)和 D。现在,假设我有另一个这样的 CSV 文件:

在这里,我想为 typeB 获得 typeD 的建议。我必须为此有一个单独的 Myrrix 实例吗?是否可以有两个模型并选择推荐哪个模型?我想用 Apache Mahout 做这件事很容易,但我想我不能像在 Myrrix 中那样获得实时 setPreference 和模型刷新的乐趣吗?

我将不胜感激任何解决此问题的想法。

0 投票
2 回答
1820 浏览

mahout - 使用 Mahout 实现基于离线项目的推荐

我正在尝试使用 Mahout 向我们的电子商务网站添加推荐。我决定使用基于项目的推荐器,我有大约 60K 产品、200K 用户和 4M 用户产品偏好。我正在寻找一种通过离线计算项目相似度来提供推荐的方法,以便推荐器.recommend() 方法可以在 100 毫秒内提供结果。

DataModel dataModel = new FileDataModel("/FilePath");

_itemSimilarity = new TanimotoCoefficientSimilarity(dataModel);

_recommender = new CachingRecommender(new GenericBooleanPrefItemBasedRecommender(dataModel,_itemSimilarity));

我希望有人能指出一种方法或博客,以帮助我理解通过离线计算项目相似性的过程和挑战。另外,存储项目相似性的预先计算结果的推荐过程是什么,它们应该存储在单独的数据库中还是内存缓存中?

PS - 我计划在 10-12 小时内刷新用户-产品偏好数据。

0 投票
0 回答
436 浏览

mahout - Mahout 评估 - 在 x 种情况下无法推荐

我正在尝试在我的数据集上评估推荐算法,这可能是稀疏的,我只有 341 个项目用于大约 20 000 个用户。我只想评估所有的相似性算法。我尝试了几乎所有基于用户的推荐,对于所有这些我都从评估者那里获得了这个信息,无论是哪一个(AverageAbsoluteDifferenceRecommenderEvaluator或均方根评分评估者)在 xXXX 案例中都无法推荐。然而最终的输出仍然有一些结果。这是我的评估员的输出:

我不明白这些数字,为什么它们显示了这么多次,这是否无法在 xxx 案例中推荐大于我所有数据的 20%?这是否意味着对于一个用户在 3 种情况下不能推荐,而在 9892 中不能推荐其他用户?