利用推荐系统上的关系

数据挖掘 机器学习 数据挖掘 Python 推荐系统
2021-09-26 17:52:43

我有一个电影的用户评分数据集

user_name, product_name, user_rating

我正在使用这些数据向用户推荐新电影(协同过滤)。

我还有另一个数据集显示用户之间的关系

user_1, CO_WORKER, user_2
user_1, FATHER_OF, user_3
user_3, FRIEND_OF, user_4 etc

现在有哪些方法可以将“关系数据”与“评级数据”一起包含以产生更好的推荐?

示例:user_1 可能喜欢 user_2 喜欢的电影,因为他们是 co_workers

3个回答

进行网络分析!建立一个链接是关系的网络,并尝试进行网络分析以获得您的答案。网络上的教程音调。您可以先看看 GraphLab Create。

有许多方法可以利用这些信息,包括各种基于图的推荐方法。

使用加权二分图投影
的协同过滤 Yelp 推荐系统

使用多种方法来构建混合推荐系统也很常见。

GraphLab 是一个不错的选择。

查看NetworkX您可以通过消除/等的父亲/朋友来使这对自己变得非常容易。区别对待,只是把每一种关系都视为基本相同。然后它就像构建一个跟踪用户之间连接的图表一样简单。之后,您可以将协同过滤限制在此人的亲密朋友圈中。

您也可以创建不同的朋友/家人/同事实现,但除非您有大量数据(和很多家庭成员),否则协同过滤可能会有点令人失望。