我有一个数据库,其中包含每个用户查看过的产品,我想根据类似用户查看过的产品推荐产品。是否有可以实现此目的的 Python 库?我不需要 Netflix 质量的结果,只需要更有可能感兴趣的产品。有任何想法吗?
3 回答
您可以查看pysuggest。
从网站:
SUGGEST 是一个实现了多种推荐算法的 Top-N 推荐引擎。Top-N推荐系统是一种个性化的信息过滤技术,用于识别一组N个项目,这些项目会引起某个用户的兴趣。近年来,top-N 推荐系统已被用于许多不同的应用中,例如推荐客户最有可能购买的产品;推荐用户喜欢的电影、电视节目或音乐;识别感兴趣的网页;甚至建议搜索信息的替代方式。
k-Nearest Neighbor可能是基于 Web 的实时推荐系统最常用的算法。
在NumPy/SciPy中,您有多种选择 [注意:答案于 12 月 12 日更新以反映sklearn库中的更新]:
scikit-learn中的最近邻模块(又名sklearn);这是一个复杂的 kNN 实现,包括邻居加权和投票以及非常高效的存储/检索组件(球树);
scipy.spatial。我已经在几个项目中使用了它,尽管我不太可能将它用于我的下一个项目,因为 sklearn 现在可用,这是 kNN 的更新实现。尽管如此,空间模块有一个kd-tree 类(该模块使用kd-tree而不是标准的 numpy 数组来存储数据,它与Voronoi tesselation一起,是存储非常大的数据集的最常见的专用数据结构对于 kNN); 此外,它还有几个距离度量的方法(除了欧几里得距离)。