LightFM 推荐模型
项目描述
光调频
| 构建状态 | |
|---|---|
| Linux | |
| OSX(禁用 OpenMP) | |
| Windows(禁用 OpenMP) |
LightFM 是许多流行的隐式和显式反馈推荐算法的 Python 实现,包括 BPR 和 WARP 排名损失的有效实现。它易于使用、快速(通过多线程模型估计)并产生高质量的结果。
它还可以将项目和用户元数据合并到传统的矩阵分解算法中。它将每个用户和项目表示为其特征的潜在表示的总和,从而允许将推荐推广到新项目(通过项目特征)和新用户(通过用户特征)。
有关更多详细信息,请参阅文档。
需要帮忙?通过电子邮件、Twitter或Gitter与我联系。
安装
从安装pip:
pip install lightfm
或康达:
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 的文章和教程
如何引用
如果对您的研究有帮助,请引用 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},
}
发展
欢迎请求请求。要安装以进行开发:
- 克隆存储库:
git clone git@github.com:lyst/lightfm.git - 设置虚拟环境:
cd lightfm && python3 -m venv venv && source ./venv/bin/activate - 使用 pip 安装它以进行开发:
pip install -e . && pip install -r test-requirements.txt - 您可以通过运行来运行测试
./venv/bin/py.test tests。 - LightFM 使用黑色(版本
18.6b4)来强制代码格式化。
对扩展文件进行更改时.pyx,您需要运行python setup.py cythonize以.c在运行之前生成扩展文件pip install -e .。