_images/spotlight.png
https://travis-ci.org/maciejkula/spolllight.svg?branch=master https://ci.appveyor.com/api/projects/status/jq5e76a7a08ra2ji/branch/master?svg=true https://badges.gitter.im/gitterHQ/gitter.png https://anaconda.org/maciejkula/spotlight/bodes/version.svg https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat https://img.shields.io/badked/progress%20tracker-trello-brightgreen.svg(树绿.svg)

聚光灯使用PyTorch公司建造深度和深度推荐模型。通过为损失函数提供大量构建块(各种逐点和成对排序损失)、表示(浅显因子分解表示、深序列模型)和提取实用程序(或生成)推荐数据集,旨在成为快速勘探的工具以及新推荐模型的原型制作。

查看完整信息文档了解详细信息。

安装

康达 安装 -c(c) 马西耶库拉 -c(c) 喷灯 聚光灯

用法

因子分解模型

要在MovieLens数据集上建立明确的反馈模型,请执行以下操作:

 聚光灯.交叉验证 进口 随机训练测试拆分
 聚光灯.datasets.movielens 进口 获取移动数据集
 聚光灯.评估 进口 rmse核心
 spotlight.因子分解.显式 进口 显式因子分解模型

数据集 = 获取移动数据集(变体=“10万”)

火车, 测试 = 随机训练测试拆分(数据集)

模型 = 显式因子分解模型(n比特=1)
模型.适合(火车)

rmse公司 = rmse核心(模型, 测试)

要在MovieLens数据集上拟合具有BPR成对损失的隐式排名模型:

 聚光灯.交叉验证 进口 随机训练测试拆分
 聚光灯.datasets.movielens 进口 获取移动数据集
 聚光灯.评估 进口 mrr评分
 聚光灯.分解.implicit 进口 隐式因子分解模型

数据集 = 获取移动数据集(变体=“10万”)

火车, 测试 = 随机训练测试拆分(数据集)

模型 = 隐式因子分解模型(n比特=,
                                   损失=“业务流程重组”)
模型.适合(火车)

核磁共振 = mrr评分(模型, 测试)

顺序模型

建议可视为序列预测任务:给定用户的项目过去曾与互动过,他们下一个互动的项目是什么和?聚光灯为安装下一个项目提供了一系列模型和实用程序推荐模型,包括

 聚光灯.交叉验证 进口 基于用户的列车测试拆分
 聚光灯.数据集.合成 进口 生成_顺序
 聚光灯.评估 进口 序列mr核心
 聚光灯.序列.暗示 进口 隐式序列模型

数据集 = 生成_顺序(num_users(用户数)=100,
                              num_items(项数)=1000,
                              交互次数=10000,
                              浓度_参数=0.01,
                              秩序=)

火车, 测试 = 基于用户的列车测试拆分(数据集)

火车 = 火车.到序列(_S)()
测试 = 测试.到序列(_S)()

模型 = 隐式序列模型(n比特=,
                              表示=“cnn”,
                              损失=“业务流程重组”)
模型.适合(火车)

核磁共振 = 序列mr核心(模型, 测试)

数据集集合

Spotlight提供了大量流行的数据集,包括Movielens 100K、1M、10M和20M。它还包含用于创建合成数据集的实用程序。例如,生成_顺序生成Markov-chan-derived交互数据集,其中用户选择的下一项是它们以前的交互作用的函数:

 聚光灯.数据集.合成 进口 生成_顺序

#浓度参数控制链的可预测性;
#顺序决定马尔可夫链的顺序。
数据集 = 生成_顺序(num_users(用户数)=100,
                              num_items(项数)=1000,
                              交互次数=10000,
                              浓度_参数=0.01,
                              秩序=)

如何引用

如果有助于您的研究,请引用Spotlight。您可以使用以下BibTeX条目:

@杂项{kula2017聚光灯,
  标题={聚光灯},
  作者={库拉, 马西耶},
  ={2017},
  出版商={github},
  如何发布={\网址{https(https)://github.通用域名格式/马西耶库拉/聚光灯}},
}

贡献

聚光灯应具有可扩展性:欢迎拉入请求。跟踪开发进度特雷略:看一看未售出的门票,了解什么是有用的贡献。

我们接受Spotlight模型动物园中新推荐模型的实现:如果你刚刚发表了一篇描述你的新模型的论文,或者已经实现了文献中的模型,那就做一个公关吧!