我运行了一个小的 ALS 推荐系统程序,可以在Apache Spark 网站上找到它使用 MLlib。当使用评级为 1-5 的数据集(我使用过 MovieLens 数据集)时,它会给出预测评级超过 5 的推荐!
我在小型测试中发现的最高值是 7.4。显然,我要么误解了代码的用途,要么出现了问题。我研究了 Latent Factor Recommender Systems,并认为 Spark Mlib ALS 实现是基于这个。
为什么它会返回比可能更高的评级?这没有道理。
我误解了算法还是程序有缺陷?