1

我使用了 mahout (v 0.9) 的推荐项和参数

--input /usr_pref.csv --numRecommendations 10 --output /out/ --tempDir /temp1/ --similarityClassname SIMILARITY_PEARSON_CORRELATION

在检查结果时,我发现它向用户推荐了他已经评价过的项目。为什么会发生这样的事情?

感谢您的时间。

根据要求,这里是建议的片段:

34175 [89005462:1.7624004,89017464:0.11477072,89011967:0.11375865,89007606:0.113421306,14103126:0.11096669,89002502:0.10888276,14103124:0.106607914,89011035:0.10636083,40111014:0.104254685,89016109:0.104254685]

以及用户偏好中的相应行:

34175,89005462,0.07596562

我已经在 Dropbox 中上传了这两个文件。建议:https ://www.dropbox.com/s/uapzq0926y7427p/outusrpref_final 用户偏好:https ://www.dropbox.com/s/6nru9799udgrzl8/usr_pref_final.csv

更新考虑到我的问题与我的评级范围有关,我将它们乘以 100,然后将它们截断为两位小数。运行推荐器后,我发现没有重复项。我仍然不明白为什么会这样。

4

2 回答 2

-1

例子:

现在,检查你的输入文件,你将把它作为输入给 mahout

示例:input.csv

979    300    2.0

979    400    1.0

800    200    3.0

800    300    4.0

Recommendations.csv(在这种情况下,用户 ID 979,itemid 200,ratings 1.0)

979 [200:1.0]

800 [400:2.0]

注意: Mahout 将只推荐用户 ID 979 的项目 200,并且不会推荐项目 300 和 400,因为它已经被评级并存储在 input.csv 中,并且将作为 mahout 的输入提供。

同样明智地打开您的两个文件并手动交叉检查一次。我猜 Mahout 推荐不会推荐已经被评分的项目。

建议:为了测试,创建一小组输入数据并对其进行测试,以便于跟踪和识别。

于 2014-06-30T09:56:32.437 回答
-1

Apache Mahout 正在推荐用户已经评分的项目?

您可能没有更新用户对文件中项目的评分,您将其作为输入给 mahout。

例如:如果您将 input.csv 作为输入给 mahout,请检查您是否更新了 input.csv。(ie) 检查 input.csv 文件是否包含具有该评级的用户 ID。Mahout 不会推荐已在您的输入文件中评级和更新的项目。

解决方案:

尝试使用已经更新的用户更新您的输入文件,然后检查。这可能会解决您的问题。

于 2014-06-26T06:52:11.113 回答