Librec

原文链接:https://blog.csdn.net/chloezhao/article/details/55189584
Librec

Librec: http://www.librec.net/
Github Repo: https://github.com/guoguibing/librec
Doc Link: http://wiki.librec.net/doku.php

特色功能:

 丰富的算法集
LibRec已经集成了70余个各类型推荐算法。具体来说,分为基准算法、协同过滤算法、基于内容的算法、情景感知算法、混合算法和其它扩展算法等。
在2.0版本中,增加了40余个新算法,包括概率图模型、张量分解模型、因子分解机、基于评论的模型、深度学习模块(RBM)等新颖的算法。
 良好的模块化
相对于LibRec 1.x,新版本在底层结构上做了非常深入的优化,尤其是模块化方面。
新版本的推荐库可分为以下三部分:数据预处理、推荐算法和训练后处理。
1、在数据预处理模块,主要是数据的转换与分割。支持两种格式数据的输入和转换,一个是常见的 User-Item-Rating 格式,另一个是更通用的ARFF格式,用户还可以扩展新类型的数据以增强现有的ARFF格式
2、在数据分割方面,支持按Ratio,Given-N,k-fold Cross validation, Leave-one-out等方式。
3、在推荐模型模块,包括情景感知和算法集成。情景感知指的是算法依赖的情景信息,如用户相似度;算法集成则是算法的逻辑实现。
4、在模型训练之后,LibRec支持两种操作:一是对测试集进行评估,得到如MAE、RMSE、AUC、MAP、NDCG等测试结果;二是对给定的用户(或情景)进行评分预测或物品推荐等查询操作,用户可以通过实现filter接口自定义更多的过滤操作。
在这里插入图片描述
 灵活的框架配置
LibRec新版本承袭了基于配置的特点,但是有所更新和发展。新的配置实现参考了其它知名数据挖掘工具库的实现特点,在灵活性上得到了有效的提高。具体来说,我们抽取出很多公共的配置项,也为独立的算法保留了特定的配置参数。为了提高算法的易配置性,我们为大多数算法保留了可用的供参考配置设置。
 高效的执行性能
LibRec一直非常注重算法执行的高效性,并尽可能地优化框架结构和算法实现。与其它的推荐算法库相比,LibRec能够在得到相当的推荐性能的前提下,在更短的时间内执行完成。
 简单的框架用法
LibRec早期版本只能独立运行,难以集成在其它工程中使用。由于良好的模块结构,新版本既可以单独运行,也能够作为依赖库应用于其它工程中
在这里插入图片描述
当集成于其它工程中时,只需执行(示例):

在这里插入图片描述

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

流程示意:
在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「LiuXiaozeeee」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuxz_x/article/details/80128154

1、可以直接通过命令行加载配置项来运行相应的代码
2、可以在其他工程中分别实例Java相应的类来进行计算.

项目实践

在命令行中,
rec参数指定程序进行推荐,
其他参数在参数-exec 之后通过-D 或-jobconf来指定.
dfs.data.dir 指定读取数据的路径
dfs.result.dir 指定存放结果的路径.
rec.recommender.class指定运行的算法.
命令行的其他用法请参考CLI walkthrough.
其他算法以及配置项请参考Algorithm list.
不同配置项的含义请参考配置文件librec.properties

LibRec通过调用命令行来输入相应的参数并提交计算作业, 计算过程以日志形式打印在终端, 最终推荐结果保存在当前目录的result文件夹下.

librec rec -exec -D rec.recommender.class=itemcluster -D rec.pgm.number=10 -D rec.iterator.maximum=20

librec rec -exec -conf itemcluster-test.properties

itemcluster-test.properties需要自己编写放在bin下

Usage: librec [options]…
commands:
rec run recommender
data load data
rec/data 为指定程序进行推荐算法/数据读取功能.

global options:
–help display this help text
–exec run Recommender
–version show Librec version info
-exec 为执行推荐算法.在2.0版本中为保留选项

job options:
-conf path to config file
-D, -jobconf set configuration items (key=value)
-libjars add entend jar files to classpath

-D | -jobconf [options] 为加载相关配置, 具体配置项请参考ConfigurationList及AlgorithmList
-conf [path/to/properties] 加载配置文件
-libjars 为加载其他路径下的jar包到classpath中, 其中lib下的jar包自动加载, 当前脚本为示例

加载项目
pom.xml中加入

<dependency>
    <groupId>net.librec</groupId>
    <artifactId>librec-core</artifactId>
    <version>2.0.0</version>
</dependency>



public void main(String[] args) throws Exception {
   
    
    // recommender configuration
    Configuration conf = new Configuration();
    Resource resource = new Resource("rec/cf/userknn-test.properties");
    conf.addResource
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值