使用协同过滤推荐具有附加功能的电影

数据挖掘 Python r 推荐系统
2021-09-27 00:50:31

我正在尝试使用协同过滤构建推荐系统。我有通常的[user, movie, rating]信息。我想加入一个额外的功能,比如“语言”或“电影时长”。我不确定我可以使用什么技术来解决这样的问题。

请在 python/R 中建议参考或包。

2个回答

这里有一些可能有用的资源:

我将使用矩阵分解方法代替协同过滤,其中用户和电影都由潜在特征的向量表示,其点积产生评级。通常,人们只选择等级(特征数量)而不考虑特征代表什么,其余的由算法完成。与 PCA 一样,结果不能立即解释,但会产生良好的结果。您要做的是扩展电影矩阵以包含您提到的其他功能,并确保它们保持固定,因为算法使用正则化估计两个矩阵。用户矩阵中的相应条目将被随机初始化,然后通过矩阵分解算法进行估计。这是一种通用且高效的方法,但需要对机器学习有所了解,

不久前我看到了一个不错的 ipython 笔记本,但我现在找不到它,所以我会向您推荐另一个,虽然不是很好,但仍然可以澄清一些数学问题。