Status da compilação | |
---|---|
Linux | |
OSX (OpenMP desativado) | |
Windows (OpenMP desativado) |
LightFM é uma implementação Python de uma série de algoritmos de recomendação populares para feedback implícito e explícito, incluindo implementação eficiente de perdas de classificação BPR e WARP. É fácil de usar, rápido (por meio de estimativa de modelo multithread) e produz resultados de alta qualidade.
Também torna possível incorporar metadados de itens e usuários nos algoritmos tradicionais de fatoração de matrizes. Ele representa cada usuário e item como a soma das representações latentes de seus recursos, permitindo assim que as recomendações sejam generalizadas para novos itens (por meio de recursos de item) e para novos usuários (por meio de recursos de usuário).
Para mais detalhes, consulte a Documentação.
Precisar de ajuda? Contate-me por e-mail, Twitter ou Gitter.
Instalar a partir pip
:
pip install lightfm
ou Conda:
conda install -c conda-forge lightfm
Ajustar um modelo de feedback implícito no conjunto de dados MovieLens 100k é muito fácil:
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 ()
Por favor, cite LightFM se isso ajudar em sua pesquisa. Você pode usar a seguinte entrada do 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},
}
Solicitações pull são bem-vindas. Para instalar para desenvolvimento:
git clone [email protected]:lyst/lightfm.git
cd lightfm && python3 -m venv venv && source ./venv/bin/activate
pip install -e . && pip install -r test-requirements.txt
./venv/bin/py.test tests
.lint-requirements.txt
.pip install pre-commit
pre-commit install
Ao fazer alterações nos arquivos de extensão .pyx
, você precisará executar python setup.py cythonize
para produzir os arquivos de extensão .c
antes de executar pip install -e .
.