传统开源推荐系统介绍思维导图

传统开源推荐系统介绍思维导图

SVDFeature

作者是上海交大Apex实验室,一个feature-based协同过滤和排序工具,代码质量较高。在KDD Cup 2012中获得第一名,KDD Cup 2011中获得第三名,相关论文 发表在2012的JMLR中

包含一个很灵活的Matrix Factorization推荐框架,能方便的实现SVD、SVD++等方法, 是单模型推荐算法中精度最高的一种

LibMF

作者是Chih-Jen Lin 台湾国立大学,在机器学习领域享有盛名,连续多届KDD Cup竞赛上获得冠军

在矩阵分解的并行化方面作出了很好的贡献,提出了一种 矩阵分解的高效算法FPSGD(Fast Parallel SGD),根据计算节点的个数来划分评分矩阵block,并分配计算节点

LibFM

作者是德国Konstanz大学的Steffen Rendle

LibFM 是专门用于矩阵分解的利器,尤其是其中实现了MCMC(Markov Chain Monte Carlo)优化算法,比常见的SGD优化方法精度要高,但运算速度要慢一些

Lenskit

作者是美国的明尼苏达大学的GroupLens团队

主要包含lenskit-api,lenskit-core, lenskit-knn,lenskit-svd,lenskit-slopone,lenskit-parent,lenskit-data- structures,lenskit-eval,lenskit-test等模块,主要实现了k-NN,SVD,Slope-One等 典型的推荐系统算法

Graphlab

Graphlab 是基于C++开发的一个高性能分布式graph处理挖掘系统,特点是对迭代的并行计算处理能力强

用GraphLab来进行大数据量的random walk或graph-based的推荐算法非常有效

GraphLab 主要实现了ALS,CCD++,SGD,Bias-SGD,SVD++,Weighted-ALS,Sparse-ALS,Non-negative Matrix Factorization,Restarted Lanczos Algorithm等

Mahout

Mahout项目是由 Apache Lucene社区中对机器学习感兴趣的一些成员发起的,其主要目标是创建一些可伸缩的机器学习算法,在其中实现一些常见的用于聚类和分类的机器学习算法

在Mahout的Recommendation类算法中,主要有User-Based CF,Item-Based CF,ALS,ALS on Implicit Feedback,Weighted MF,SVD++,Parallel SGD等

Myrrix

Myrrix 最初是Mahout的作者之一Sean Owen基于Mahout开发的一个试验性质的推荐系统。后面发展成一个完整的、实时的、可扩展的集群和推荐系统

已被 Cloudera 并入Oryx项目,已不能使用了

EasyRec

EasyRec 是一个易集成、易扩展、功能强大且具有可视化管理的推荐系统,更像一个完整的推荐产品,包括了数据录入模块、管理模块、推荐挖掘、离线分析等

EasyRec可以同时给多个不同的网站提供推荐服务,通过tenant来区分不同的网站。架设EasyRec服务器,为网站申请tenant,通过 tenant就可以很方便的集成到网站中

Waffles

一个非常强大的机器学习的开源工具包。Waffles里包含的算法特别多,涉及机器学习的方方面面,推荐系统位于 其中的Waffles_recommend tool,大概只占整个Waffles的1/10的内容,其它还有分类、聚类、采样、降维、数据可视化、音频处理等许许多多工具包

RapidMiner

是一个比较成熟的数据挖掘解决方案,包括常见的机器学习、NLP、推荐、预测等方法(推荐只占其中很小一部分),而且带有GUI的 数据分析环境,数据ETL、预处理、可视化、评估、部署等整套系统都有

查看原文