我必须向用户推荐视频。我有包含userId,videoId,productId的csv文件。在产品ID下,存在许多类似的视频。 像:
userId videoId productId
1 2 1
1 3 1
1 5 2
2 7 2
2 8 1
2 2 1
为了更清晰,我再次将其分解:
用户和视频关系:
userId videoId
1 2
1 3
1 5
2 7
2 8
2 2
考虑用户和视频: 由于我们看到用户1基于videoid 2与用户2类似,因此,我将推荐用户1观看7和8视频。简单:))
但扭曲是 这样的实际产品和视频数据:
videoId productId
2 1
3 1
5 2
7 2
8 1
2 1
4 1
6 1
视频4和6也属于productid 1.想想用户1是否来看视频2我将不得不推荐7,8(基于类似用户)和4,6(基于类似视频)相同的产品但在实际的csv中不存在。
我的问题是:
我是否需要对csv进行分解。
最好的算法是什么。
3.获得结果视频后,如何排名
答案 0 :(得分:0)
您想推荐什么,产品或视频?选择一个并扔掉另一个,我看不出它是什么用途。这些建议将按照预计的优先权重新排序。
使用哪个版本的Mahout推荐器取决于您拥有多少数据,有多少用户和项目。您还有多少次获得新的偏好数据。所有Mahout 0.9推荐器只能向已表达偏好的用户推荐并且仅使用用于计算模型的偏好。
Mahout 1.0有一种完全不同的机制,只要您有一些偏好数据,就可以向匿名用户或新用户推荐。这些数据不必在Mahout建立的模型中。此方法需要使用Solr或Elasticsearch等搜索引擎。
Mahout docs:http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html
我把它放在一起:http://www.slideshare.net/pferrel/unified-recommender-39986309