LibRec 是领先的推举系统Java开源算法工具库,覆盖了70余个各种型推举算法,有效办理评分预测和物品推举两大关键的推举问题。推举系统是机器学习和大数据技能的经典实际运用,旨在供应高效准确的个性化物品推举,是当代Web运用的主要组件。 项目构造清晰,代码风格良好,测试充分,注释与手册完善。目前项目利用GPL3.0协议开源在github中,欢迎大家试用。
Librec: http://www.librec.net
Github Repo:http:github.com/guoguibing/librec

Doc Link:http:wiki.librec.net/doku.php
特色功能:
丰富的算法集
截止到目前,LibRec已经集成了70余个各种型推举算法。详细来说,分为基准算法、协同过滤算法、基于内容的算法、情景感知算法、稠浊算法和其它扩展算法等。在2.0版本中,增加了40余个新算法,包括概率图模型、张量分解模型、因子分解机、基于评论的模型、深度学习模块(RBM)等新颖的算法。团队的每个核心开拓职员每每卖力某一类型算法的开拓和测试事情。
良好的模块化 相对付LibRec 1.x,新版本在底层构造上做了非常深入的优化,尤其是模块化方面。新版本的推举库可分为以下三部分:数据预处理、推举算法和演习后处理。在数据预处理模块,紧张是数据的转换与分割。支持两种格式数据的输入和转换,一个是常见的 User-Item-Rating 格式,另一个是更通用的ARFF格式,用户还可以扩展新类型的数据以增强现有的ARFF格式。在数据分割方面,支持按Ratio,Given-N,k-fold Cross validation, Leave-one-out等办法。在推举模型模块,包括情景感知和算法集成。情景感知指的是算法依赖的情景信息,如用户相似度;算法集成则是算法的逻辑实现。在模型演习之后,LibRec支持两种操作:一是对测试集进行评估,得到如MAE、RMSE、AUC、MAP、NDCG等测试结果;二是对给定的用户(或情景)进行评分预测或物品推举等查询操作,用户可以通过实现filter接口自定义更多的过滤操作。
灵巧的框架配置
LibRec新版本继承了基于配置的特点,但是有所更新和发展。新的配置实现参考了其它有名数据挖掘工具库的实现特点,在灵巧性上得到了有效的提高。详细来说,我们抽取出很多公共的配置项,也为独立的算法保留了特定的配置参数。为了提高算法的易配置性,我们为大多数算法保留了可用的供参考配置设置。
高效的实行性能
LibRec一贯非常看重算法实行的高效性,并尽可能地优化框架构造和算法实现。与其它的推举算法库比较,LibRec能够在得到相称的推举性能的条件下,在更短的韶光内实行完成。
大略的框架用法
LibRec早期版本只能独立运行,难以集成在其它工程中利用。由于良好的模块构造,新版本既可以单独运行,也能够作为依赖库运用于其它工程中
良好的可扩展性
良好的易扩展性。LibRec供应了很好的公共接口以便用户进行个性化扩展。包括数据类型、推举算法、输出类型、评估因子、过滤器等的扩展接口。利用LibRec开拓新算法,用户常日只须要关注新算法的逻辑实现,而不须要担心其它部分的实现。
构造示意:
流程示意: