LibRec 2.0.0 正式版发布: 基于机器学习的大数据推荐系统

标签: 软件更新新闻 | 发表时间:2017-02-13 11:23 | 作者:
分享到:
出处:http://www.oschina.net/?from=rss

LibRec: 基于机器学习的大数据推荐系统

简介:

LibRec 是领先的推荐系统Java开源算法工具库,覆盖了70余个各类型推荐算法,有效解决评分预测和物品推荐两大关键的推荐问题。推荐系统是机器学习和大数据技术的经典实际应用,旨在提供高效准确的个性化物品推荐,是现代Web应用的重要组件。

项目结构清晰,代码风格良好,测试充分,注释与手册完善。目前项目使用GPL3.0协议开源在github中,欢迎大家试用。

Librec:  http://www.librec.net/

Github Repo:   https://github.com/guoguibing/librec

Doc Link:  http://wiki.librec.net/doku.php

特色功能:

l  丰富的算法集

截止到目前,LibRec已经集成了70余个各类型推荐算法。具体来说,分为基准算法、协同过滤算法、基于内容的算法、情景感知算法、混合算法和其它扩展算法等。在2.0版本中,增加了40余个新算法,包括概率图模型、张量分解模型、因子分解机、基于评论的模型、深度学习模块(RBM)等新颖的算法。团队的每个核心开发人员往往负责某一类型算法的开发和测试工作。

l  良好的模块化

相对于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接口自定义更多的过滤操作。

l  灵活的框架配置

LibRec新版本承袭了基于配置的特点,但是有所更新和发展。新的配置实现参考了其它知名数据挖掘工具库的实现特点,在灵活性上得到了有效的提高。具体来说,我们抽取出很多公共的配置项,也为独立的算法保留了特定的配置参数。为了提高算法的易配置性,我们为大多数算法保留了可用的供参考配置设置。

l  高效的执行性能

LibRec一直非常注重算法执行的高效性,并尽可能地优化框架结构和算法实现。与其它的推荐算法库相比,LibRec能够在得到相当的推荐性能的前提下,在更短的时间内执行完成。

l  简单的框架用法

LibRec早期版本只能独立运行,难以集成在其它工程中使用。由于良好的模块结构,新版本既可以单独运行,也能够作为依赖库应用于其它工程中

l  良好的可扩展性

良好的易扩展性。LibRec提供了很好的公共接口以便用户进行个性化扩展。包括数据类型、推荐算法、输出类型、评估因子、过滤器等的扩展接口。使用LibRec开发新算法,用户通常只需要关注新算法的逻辑实现,而不需要担心其它部分的实现。

结构示意:

 

流程示意:


 

相关链接:

Librec 2.0 通识篇:   https://mp.weixin.qq.com/s/AB39ihVWXYHRbeODbGO-2g

导入LibRec至Eclipse平台:  https://mp.weixin.qq.com/s/OyYn5_4GYAbF0L0SFgsHVQ

LibRec命令行操作:  https://mp.weixin.qq.com/s/xnkg6BGyUUKmbs009p8XCw

Librec 一周年纪: https://mp.weixin.qq.com/s/vDnca1FMW9vVrFDgti_1IA


欢迎关注Librec微信公众号:

 

相关 [librec 2.0.0 机器学习] 推荐:

LibRec 2.0.0 正式版发布: 基于机器学习的大数据推荐系统

- - 开源中国社区最新新闻
LibRec: 基于机器学习的大数据推荐系统. LibRec 是领先的推荐系统Java开源算法工具库,覆盖了70余个各类型推荐算法,有效解决评分预测和物品推荐两大关键的推荐问题. 推荐系统是机器学习和大数据技术的经典实际应用,旨在提供高效准确的个性化物品推荐,是现代Web应用的重要组件. 项目结构清晰,代码风格良好,测试充分,注释与手册完善.

机器学习五步走

- - 我爱机器学习
经常会有人问“我该如何在机器学习方面更进一步,我不知道我接下来要学什么了. 一般我都会给出继续钻研教科书的答案. 每当这时候我都会收到一种大惑不解的表情. 但是进步确实就是持续的练习,保持较强的求知欲,并尽你可能的完成具有挑战性的工作. 因为他是为数不多的几种可以让你真真让你获取坚实知识的媒介. 是的,你可以选择选一门课,注册MOOC,参加一些讨论班.

机器学习之路

- - 我爱机器学习
自从答应简二毛博士将自己的机器学习历程和心得分享给大家至今,转眼间半年已经过去了,感谢简博士分享和开源精神的鼓舞,这也正是本系列关于机器学习介绍博客的动力来源. 之前有些网友,师弟们问我,学习机器学习怎么入手,从看什么书开始. 如果你只愿意看一本书,那么推荐Bishop的PRML,全名Pattern Recognition and Machine Learning. 这本书是机器学习的圣经之作,尤其对于贝叶斯方法,介绍非常完善.

Mahout实现的机器学习算法

- - ITeye博客
使用命令:mahout -h.   在Mahout实现的机器学习算法见下表:. EM聚类(期望最大化聚类). 并行FP Growth算法. 并行化了Watchmaker框架. 非Map-Reduce算法. 扩展了java的Collections类. Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能.

国内的机器学习几个人

- - 丕子
转: http://blog.csdn.net/playoffs/article/details/7588597. 推荐几个机器学习和数据挖掘领域相关的中国大牛:. 李航:http://research.microsoft.com/en-us/people/hangli/,是MSRA Web Search and Mining Group高级研究员和主管,主要研究领域是信息检索,自然语言处理和统计学习.

Apache Mahout 0.8 发布,机器学习库

- - 开源中国社区最新新闻
Apache Mahout 0.8 发布了,Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可下免费使用. 该项目已经发展到了它的最二个年头,目前只有一个公共发行版.

Ruby的机器学习项目

- - 阳志平的网志-技术类
作者是辉瑞公司的小牛,可惜烂尾了. 我在改啊改啊,可惜现在是商业项目,暂时不能放出改掉的部分. 对了,顺便做个小广告,去年组织翻译的一本小书:社会网络分析:方法与实践. 已经上市了,感兴趣的可以翻翻:. 社会网络分析:探索关系背后的科学与技术. treat:自然语言处理. 类似于igraph,也是桥接处理nlp.

机器学习该如何入门

- - CSDN博客综合推荐文章
  对于这个问题的解释,说实话我很有压力,因为在分享篇文章之前就有朋友告诉我,这个百度上一搜一大片,还需要你讲吗. 正如同一千个读者眼里有一千个林黛玉一样,我解释的当然是我个人自从读研到工作这么多年对机器学习的学习到应用过程的独特见解.   首先我们看下图了解一下机器学习在AI(Artificial Intelligence 人工智能)领域的地位.

[译] 理解机器学习技术

- - IT瘾-dev
第1讲 理解机器学习技术. 学完本模块的内容,读者将能够:. 讨论机器学习的技术和商业应用. 学完本讲的内容,读者将能够:. 解释各类机器学习方法和算法. “机器学习领域的突破,其价值10倍于微软. 你是否曾经为计算机能够下象棋或者机器人能够完成复杂任务而感到惊奇. 一旦你理解了机器如何学习和适应各种问题、提供合适的解决方案时,这些看上去很复杂的问题实际上相当简单.

Mllib机器学习工具包在Hadoop上的使用

- 小丑鱼 - 搜索技术博客-淘宝
         Hadoop是基于Java的数据计算平台,在我们公司得到了广泛应用. 同样mllib也是我们算法组同学经常使用的一个机器学习工具包. 但目前mllib工具包只提供了供C++程序调用的so链接库,没有可供java程序调用的jar包. 由于这个需求有一定的普遍性,笔者将mllib做了进一步封装,并通过jni的方式把其封装成了可供java程序调用的接口.