我正在尝试使用Spark Mlib als进行协作过滤以进行音乐推荐。输入数据有几个字段,包括用户ID,SongID,艺术家等。我的数据中没有评分字段。ALS需要评级为参数之一。我环顾四周,但无法获得任何帮助。我该如何进行?lister_count(用户都收听特定歌曲的次数(
是否可以我的数据集:
user_id song_id songtitle artist language music_director
123 1 abc artist1 English NULL
345 2 xyz artist2 English NULL
456 3 abc artist3 English NULL
567 4 xyz artist4 English NULL
678 5 xyz artist5 English NULL
789 6 abc artist6 English NULL
协作过滤算法将评级作为运行的输入。因为听歌并不一定意味着用户喜欢这首歌&
的可爱性可能会有所不同。因此,评级字段有助于区分用户在这种情况下不同歌曲的不同反应,&然后预测他们尚未听过的歌曲的用户评分。
我认为您正在做一个固有的假设,即如果该歌曲在用户列表中,则用户喜欢它。对于这种情况,您可以添加一个固定填充值1并运行代码的评分列。