例如:我有一个类似的主文件
userid itemid rating
1 2 5
另一个用户文件,其中存在与用户相关的元数据,元数据可能有很多:
userid age
1 5
2 8
我还有一个项目文件,其中存在与项目相关的元数据。元数据可能是许多
itemid item_catagory item_geo
1 5 india
如果我要向用户推荐任何项目,我希望包括这些元信息。我想知道矩阵分解是否有用,以及哪一个python开源模块有这种实现。
要向推荐系统添加附加信息,例如关于项目、用户或推荐事件,可以应用上下文感知推荐系统(CARS)的现有方法之一。
试着从Factorization Machines开始。您可以将数据转换为svmlight格式,然后使用参考实现libfm。它有最好的文档,还有一个类似的例子,你可以找到如何准备你的数据。如果必须是Python,那么也有许多现有的实现,例如fastFMSimpler-pyFM。如果你想试试Julia,也许你可以用我的FactorizationMachines.jl代码作为基础:-)
如果您对标准FM感到满意,请查看:LightFM和Field Aware FM
我认为FM是CARS最成功、最容易使用的模式之一。请给一些反馈它是如何为您工作的。如果你需要不同的方法,我会很乐意提供帮助。