gpt4 book ai didi

apache-spark - 如何在 Apache Spark 中评估隐式反馈 ALS 算法的推荐?

转载 作者:行者123 更新时间:2023-12-04 04:51:37 26 4
gpt4 key购买 nike

你怎么评价隐式 Apache Spark 的反馈协同过滤算法,考虑到隐含的“评级”可以从零到任何变化,那么简单的 MSE 或 RMSE 没有多大意义?

最佳答案

要回答这个问题,您需要回到定义什么是隐式反馈和 ALS 算法的原始论文 Collaborative Filtering for Implicit Feedback Datasets作者:胡一凡、耶胡达·科伦和克里斯·沃林斯基。

什么是隐式反馈?

在没有显式评分的情况下,推荐系统可以从更丰富的隐式反馈中推断出用户偏好,通过观察用户行为间接反射(reflect)意见。

隐式反馈可以包括购买历史、浏览历史、搜索模式,甚至鼠标移动。

此处是否适用相同的评估技术?如RMSE、MSE。

重要的是要意识到我们没有关于不喜欢哪些项目的可靠反馈。没有点击或购买可能与多种原因有关。我们也无法跟踪用户对我们推荐的 react 。

因此,基于精度的指标,例如 RMSE 和 MSE,不是很合适 ,因为他们需要知道用户不喜欢哪些项目才有意义。

但是,购买或点击某个项目就表明对它感兴趣。我不会说喜欢,因为根据推荐人的上下文,点击或购买可能具有不同的含义。

所以使面向召回的措施适用于这种情况 .所以在这种情况下,引入了几个指标,最重要的是平均百分比排名(MPR),也称为百分比排名。

较低的 MPR 值是更可取的。随机预测的 MPR 期望值为 50%,因此 MPR > 50% 表示算法不比随机算法好。

当然,这不是评估具有隐式评分的推荐系统的唯一方法,但它是实践中最常用的方法。

有关此指标的更多信息,我建议您阅读上述论文。

好的,现在我们知道要使用什么了,但是 Apache Spark 呢?

Apache Spark 仍然没有为此指标提供开箱即用的实现,但希望不会持续太久。有 PR 等待验证 https://github.com/apache/spark/pull/16618关于添加RankingEvaluatorspark-ml .

然而,实现并不复杂。可以引用代码here如果你有兴趣早点得到它。

我希望这回答了你的问题。

关于apache-spark - 如何在 Apache Spark 中评估隐式反馈 ALS 算法的推荐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46462470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com