LibRec团队 · 更新于 2018-11-28 11:00:43

Librec Document


introduce to Librec

Overview

LibRec 是一个基于java 1.7以GPL-3.0协议发布的开源推荐系统. LibRec内包含大量推荐算法并可以通过这些算法快速解决rating和ranking问题. 目前LibRec已被RecSys wiki收录.

与1.4相比, 2.0版本重新程序的整体结构, 接口更加合理, 可扩展性更强. 对于已经实现的程序, 可以使用命令行和参数或者配置文件来执行. 开发新推荐算法可以通过继承相应的抽象类来实现.

因Librec中系统结构发生变化, 对于1.4中实现的算法, 需要做以下调整来适配LibRec 2.0:

QuickStart

getting LibRec

Run examples in shell

Linux And MAC:

bash librec rec -exec -conf ../core/src/mian/resources/rec/baseline/usercluster-test.properties

Windows:

Command Line Usage

librec.sh [CATEGORY] -exec [OPTIONS] where CATEGORY is one of: data: rec: OPTIONS: -load -save -D|-jobconf: -conf -libjars

using property file to configure settings

Librec通过properties格式来定义配置文件. 数据的读取以及数据集划分算法等可以直接在driver.classes.props进行定义 不同推荐系统的个性化推荐算法可以通过配置项定义之后, 可以使用-conf来进行加载

include librec on other project

learning more about LibRec

LibRec Basics

brief summary of LibRec structure

librec保存在

Data propercess pipeline

prepare data

data structure

稀疏矩阵保存时同时以CSR与CSC的格式保存

loading data

读取数据的类为Convertor, 通过readData方法来进行数据的读取,相关的配置文件示例如下:

splitting data

目前项目中分别实现了通过ratio进行数据分割, K折交叉验证, leave-one-out, 与GivenN四种分割方式. 配置文件实例如下:

running an algorithms

setting similarity

choose one recommender algorithm

目前有基于矩阵分解等推荐算法共六十余种,

evaluate the result

librec对于rating的算法实现了MAE, MPE, MSE, RMSE四种评估算法 对ranking算法实现了AUE, AveragePrecision等十种评估算法

recommand algorithms

baseline

ranking

rating

content

Other important package

io

JobStatus

Reflection

librec通过property配置项来读取并生成相应的类

Complete other algorithms

在librec中, 推荐算法的的原理被分为以下几类, 基于矩阵分解, 基于因子分解, 基于概率图模型, 基于张量. 实现的推荐算法可以根据相应类别继承自相应抽象类, 也可以直接继承AbstractRecommender抽象类.

Librec API Documents

Frequently Asked Questions

上一篇: 过滤器 下一篇: 推荐算法