【问题标题】:Similarity function for Mahout boolean user-based recommenderMahout 布尔基于用户的推荐器的相似度函数
【发布时间】:2011-11-23 16:00:06
【问题描述】:
我正在使用 Mahout 构建一个基于用户的推荐系统,该系统使用布尔数据进行操作。
我使用GenericBooleanPrefUserBasedRecommender、NearestNUserNeighborhood,现在正在尝试确定最合适的用户相似度函数。
建议使用LogLikelihoodSimilarity 或TanimotoCoefficientSimilarity。我都尝试了,并且在这两种情况下都得到了[主观评估]有意义的结果。然而,相同数据集的 RMSE 评级优于 LogLikehood。两种情况下“不推荐”的数量相似。
谁能推荐这些相似度函数中的哪一个最适合这种情况?
【问题讨论】:
标签:
similarity
mahout
collaborative-filtering
【解决方案1】:
(我是开发人员。)如果我被困在一个荒岛上,只有一个相似性指标用于没有评级/首选项的数据,那将是对数似然。我通常希望它是更好的相似性指标。
您正在做的测试的问题在于,也许一点也不明显,它对这种推荐者/数据没有意义。 RMSE 是均方根误差,它比较保留测试数据的实际评级与预测评级。但是你没有评分。它们都是“1.0”。真的,RMSE 总是 0!
不是这样,因为要对任何东西进行排名,这些推荐者将根据相似性的一些有意义的函数进行排名。但他们根本没有估计收视率/偏好。所以,RMSE 在这里表示蹲下。
我认为,在这种情况下,您真正可以使用的唯一指标是精度/召回率测试。即使这样也是有问题的。这本书和更多有趣的话题都包含在我将无耻地宣传的一本书中:Mahout in Action