0

我使用了一个明确的评分数据集,它为 52K 用户和 100k 项目提供了大约 389K 评分。

基本统计:每个项目的平均评分数:3.89 每个用户的平均评分数:7.45 评分最低的用户:1 评分最低的项目:2

使用的 ALS 模型具有以下设置:

als = ALS(userCol="userId", itemCol="vidId", ratingCol="rate", rank=10, maxIter=15,
          regParam=0.15, coldStartStrategy="drop", nonnegative=True, implicitPrefs=False)

在验证中,我将 80% 用于训练,20% 用于测试。验证集上的 RMSE 为:0.32(非常低)

在生产中,我使用整个数据集来训练 ALS 模型(保持与验证相同的配置)

为了获得每个用户的前 100 个用户项目推荐,我使用了以下说明:

users_recommendation = model.recommendForAllUsers(100)

然而,大多数时候,最受推荐的商品并不是来自任何协作用户评分的商品。

据我所知,top user-item 推荐的项目应该来自任何协作用户评分的项目。

没有任何合作的推荐项目是没有意义的。

4

0 回答 0