我正在使用 Mahout 构建一个基于用户的推荐系统,该系统使用布尔数据进行操作。
我使用GenericBooleanPrefUserBasedRecommender
,NearestNUserNeighborhood
,现在尝试决定最合适的用户相似度函数。
建议使用LogLikelihoodSimilarity
或TanimotoCoefficientSimilarity
。我试过这两种情况,并在两种情况下得到[主观评估]有意义的结果。但是,LogLikehood对同一数据集的RMSE评级更好。在这两种情况下,“无推荐”的数量都相似。
任何人都可以推荐哪种相似功能最适合这种情况?
答案 0 :(得分:6)
(我是开发人员。)如果我被困在一个荒岛上,只有一个没有评级/首选项的数据的相似度量,它就是对数似然。我通常认为它是更好的相似性度量。
您正在进行的测试的问题是,或许根本不是,它对于这种推荐器/数据没有意义。 RMSE是均方根误差,它比较了保持测试数据的实际与预测评级。但你没有评级。他们都是“1.0”。真的,RMSE总是0!
不是,因为要有任何排名,这些推荐人将按相似性的一些有意义的功能排名。但他们根本没有估计评级/优先级。所以,RMSE意味着蹲在这里。
我认为,在这种情况下,您真正可以使用的唯一指标是精确/召回测试。即使这是有问题的。这本书和更有趣的主题都包含在一本我将无耻地宣传的书中:Mahout in Action