基于用户历史的高效产品推荐库
我有一个数据库,里面记录了每个用户查看过哪些产品。我想根据其他相似用户查看过的产品来推荐一些产品。有没有什么Python库可以做到这一点?我不需要像Netflix那样高质量的推荐,只想推荐一些可能会感兴趣的产品。有什么建议吗?
3 个回答
1
4
k-最近邻算法可能是实时网络推荐系统中最常用的算法。
在NumPy/SciPy中,你有几个选择 [注意:答案在12月12日更新,以反映sklearn库的更新]:
最近邻模块在scikit-learn(也叫sklearn)中;这是一个复杂的kNN实现,包含邻居加权和投票机制,还有一个非常高效的存储/检索组件(球树);
scipy.spatial。我在几个项目中使用过这个模块,不过考虑到现在有了sklearn这个更新的kNN实现,我可能不会在下一个项目中使用它。尽管如此,空间模块有一个kd树类(这个模块使用kd树而不是标准的numpy数组来存储数据,配合Voronoi剖分,是存储非常大数据集以供kNN使用的最常见的数据结构);此外,它还提供了几种距离度量的方法(除了欧几里得距离)。
5
你可以看看 pysuggest。
网站上说:
SUGGEST 是一个推荐引擎,它可以提供各种推荐算法。Top-N 推荐系统是一种个性化的信息过滤技术,主要用来找出一组 N 个用户可能感兴趣的项目。近年来,Top-N 推荐系统被应用在很多不同的场景中,比如推荐顾客最有可能购买的产品;推荐用户可能喜欢的电影、电视节目或音乐;找出用户可能感兴趣的网页;甚至建议用户不同的搜索信息的方法。