Dim*_*los 4 apache-spark apache-spark-mllib
你如何评估Apache Spark 的隐式反馈协同过滤算法,因为隐含的"评级"可以从零到任何变化,所以简单的MSE或RMSE没有多大意义?
eli*_*sah 11
要回答这个问题,你需要回到那个定义了什么是隐含的反馈和ALS算法原纸协同过滤的隐式反馈数据集 由胡一帆,耶胡达·科伦和克里斯Volinsky.
什么是隐式反馈?
在没有明确评级的情况下,推荐系统可以从更丰富的隐式反馈中推断用户偏好,其通过观察用户行为间接地反映意见.
隐式反馈可以包括购买历史,浏览历史,搜索模式甚至鼠标移动.
这里适用相同的评估技术吗?如RMSE,MSE.
重要的是要意识到我们没有关于哪些项目不受欢迎的可靠反馈.没有点击或购买可能与多种原因有关.我们也无法跟踪用户对我们建议的反应.
因此,基于精度的指标(例如RMSE和MSE)不是非常合适,因为它们需要知道用户不喜欢哪些项目才有意义.
但是,购买或点击某个项目表示对其感兴趣.我不愿意这样说,因为点击或购买可能具有不同的含义,具体取决于推荐者的上下文.
因此,在这种情况下,使召回导向措施适用.因此,在这种情况下,引入了几个指标,最重要的是平均百分比排名(MPR),也称为百分位排名.
较低的MPR值是更理想的.随机预测的MPR预期值为50%,因此MPR> 50%表示算法不比随机算法好.
当然,这不是评估具有隐式评级的推荐系统的唯一方法,但它是实践中最常用的方法.
有关此指标的更多信息,建议您阅读上述文章.
好的,现在我们知道我们将要使用什么,但Apache Spark呢?
Apache Spark仍然没有为此度量标准提供开箱即用的实现,但希望不会持续很长时间.有一个PR等待验证https://github.com/apache/spark/pull/16618关于增加RankingEvaluator了spark-ml.
然而,实施并不复杂.如果您有兴趣尽快获得它,可以参考此处的代码.
我希望这回答了你的问题.
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |