跳转到主要内容

LightFM推荐模型

项目描述

LightFM

LightFM logo

构建状态
Linux Circle CI
OSX (禁用OpenMP) Travis CI
Windows (禁用OpenMP) Appveyor

Gitter chat PyPI Anaconda-Server Badge

LightFM是Python实现的一系列流行的推荐算法,包括BPR和WARP排名损失的有效实现,适用于隐式和显式反馈。它易于使用,速度快(通过多线程模型估计),并产生高质量的结果。

它还使得将物品和用户元数据合并到传统的矩阵分解算法成为可能。它将每个用户和物品表示为其特征的潜在表示的总和,从而允许推荐泛化到新的物品(通过物品特征)和新的用户(通过用户特征)。

有关更多详细信息,请参阅文档

需要帮助?请通过电子邮件TwitterGitter联系我。

安装

pip安装

pip install lightfm

或Conda

conda install -c conda-forge lightfm

快速入门

在MovieLens 100k数据集上拟合隐式反馈模型非常简单

from lightfm import LightFM
from lightfm.datasets import fetch_movielens
from lightfm.evaluation import precision_at_k

# Load the MovieLens 100k dataset. Only five
# star ratings are treated as positive.
data = fetch_movielens(min_rating=5.0)

# Instantiate and train the model
model = LightFM(loss='warp')
model.fit(data['train'], epochs=30, num_threads=2)

# Evaluate the trained model
test_precision = precision_at_k(model, data['test'], k=5).mean()

关于使用LightFM的文章和教程

  1. 使用LightFM学习排序Sketchfab模型
  2. 用户和物品冷启动推荐元数据嵌入
  3. 推荐系统 - 学习Python进行数据科学
  4. 使用LightFM为顾问推荐项目

如何引用

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

@inproceedings{DBLP:conf/recsys/Kula15,
  author    = {Maciej Kula},
  editor    = {Toine Bogers and
               Marijn Koolen},
  title     = {Metadata Embeddings for User and Item Cold-start Recommendations},
  booktitle = {Proceedings of the 2nd Workshop on New Trends on Content-Based Recommender
               Systems co-located with 9th {ACM} Conference on Recommender Systems
               (RecSys 2015), Vienna, Austria, September 16-20, 2015.},
  series    = {{CEUR} Workshop Proceedings},
  volume    = {1448},
  pages     = {14--21},
  publisher = {CEUR-WS.org},
  year      = {2015},
  url       = {http://ceur-ws.org/Vol-1448/paper4.pdf},
}

开发

欢迎提交拉取请求。要开发安装

  1. 克隆仓库: git clone git@github.com:lyst/lightfm.git
  2. 设置虚拟环境: cd lightfm && python3 -m venv venv && source ./venv/bin/activate
  3. 使用pip进行开发安装: pip install -e . && pip install -r test-requirements.txt
  4. 您可以通过运行 ./venv/bin/py.test tests 来执行测试。
  5. LightFM使用black来强制代码格式化,并使用flake8进行代码审查,请参阅lint-requirements.txt
  6. [可选] 您可以安装pre-commit以在本地强制执行格式化和代码审查。使用以下命令安装:
    pip install pre-commit
    pre-commit install
    

当修改.pyx扩展文件时,您需要运行python setup.py cythonize以生成扩展.c文件,然后再运行pip install -e .

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

lightfm-1.17.tar.gz (316.4 kB 查看哈希值)

上传时间 源代码

由以下组织支持