【问题标题】:Spark ALS recommendation system have value prediction greater than 1Spark ALS 推荐系统的价值预测大于 1
【发布时间】:2017-10-24 06:59:12
【问题描述】:

我在 Spark(推荐系统算法)中使用 ALS 算法(implicitPrefs = True)。通常,运行此算法后,预测值必须从 0 到 1。但我收到的值大于 1

    "usn" : 72164,
    "recommendations" : [ 
        {
            "item_code" : "C1346",
            "rating" : 0.756096363067627
        }, 
        {
            "item_code" : "C0117",
            "rating" : 0.966064214706421
        }, 
        {
            "item_code" : "I0009",
            "rating" : 1.00000607967377
        }, 
        {
            "item_code" : "C0102",
            "rating" : 0.974934458732605
        }, 
        {
            "item_code" : "I0853",
            "rating" : 1.03272235393524
        }, 
        {
            "item_code" : "C0103",
            "rating" : 0.928574025630951
        }
    ]

我不明白为什么或什么是评级值大于 1(“评级”:1.00000607967377“评级”:1.03272235393524

一些类似的问题,但我还是不明白:MLLib spark -ALStrainImplicit value more than 1

谁能帮我解释一下异常值

【问题讨论】:

    标签: apache-spark pyspark recommendation-engine


    【解决方案1】:

    别担心! ALS 没有任何问题。

    尽管如此,ALS 返回的预测分数与 Apache Spark 的隐式反馈并没有像您看到的那样进行标准化以适应 [0,1] 之间。有时您甚至可能会得到负值。 (更多关于here。)

    ALS 使用随机梯度下降和近似来计算(和重新计算)每一步的用户和项目因子,以最小化允许扩展的成本函数。

    事实上,标准化这些分数并不重要。这样做的原因实际上是这些分数本身并没有多大意义。

    您不能在这些分数上对每个示例使用 RMSE 来评估您的建议的效果。如果你有兴趣评估这类推荐人,我建议你阅读我在How can I evaluate the implicit feedback ALS algorithm for recommendations in Apache Spark?上的回答

    研究或/和行业中使用了许多技术来处理此类结果。例如,您可以使用threshold二值化 预测。

    【讨论】:

    • 你说:这样做的原因实际上是这些分数本身并没有多大意义。那么如果不使用预测分数,如何推荐用户/项目。目前,我使用 ALS 计算后的评分来推荐用户/项目
    • 答案在最后一段。
    • 我知道 rating = 0.756096363067627 表示用户喜欢 70% 的商品。但是评分 = 1.03272235393524 可能表明用户喜欢 103% 的项目。好像没什么意思我没听错吗?
    • 实际上对该结果有隐含的解释。 0.75 表示用户最有可能喜欢该商品,但并不意味着用户喜欢该商品的概率为 70%。您需要将其视为分类问题。你设置了一个阈值,比如说 0.5。高于该分数,您可以认为用户会喜欢它。
    • 我链接的答案对于理解基于隐式评分的推荐系统评估非常重要。不幸的是,关于这个主题的文献并不多。但是我在其他答案中链接的那些解释得很好。
    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 2015-05-21
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多