Build-Status | |
---|---|
Linux | |
OSX (OpenMP deaktiviert) | |
Windows (OpenMP deaktiviert) |
LightFM ist eine Python-Implementierung einer Reihe beliebter Empfehlungsalgorithmen für implizites und explizites Feedback, einschließlich der effizienten Implementierung von BPR- und WARP-Ranking-Verlusten. Es ist einfach zu verwenden, schnell (über Multithread-Modellschätzung) und liefert qualitativ hochwertige Ergebnisse.
Darüber hinaus ist es möglich, sowohl Artikel- als auch Benutzermetadaten in die herkömmlichen Matrixfaktorisierungsalgorithmen zu integrieren. Es stellt jeden Benutzer und jedes Element als Summe der latenten Darstellungen seiner Merkmale dar und ermöglicht so die Verallgemeinerung von Empfehlungen auf neue Elemente (über Elementmerkmale) und auf neue Benutzer (über Benutzermerkmale).
Weitere Einzelheiten finden Sie in der Dokumentation.
Brauchen Sie Hilfe? Kontaktieren Sie mich per E-Mail, Twitter oder Gitter.
Von pip
installieren:
pip install lightfm
oder Conda:
conda install -c conda-forge lightfm
Das Anpassen eines impliziten Feedback-Modells an den MovieLens 100k-Datensatz ist sehr einfach:
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 ()
Bitte zitieren Sie LightFM, wenn es Ihnen bei Ihrer Recherche hilft. Sie können den folgenden BibTeX-Eintrag verwenden:
@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},
}
Pull-Anfragen sind willkommen. Für die Entwicklung installieren:
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
ausführen.lint-requirements.txt
.pip install pre-commit
pre-commit install
Wenn Sie Änderungen an den .pyx
Erweiterungsdateien vornehmen, müssen Sie python setup.py cythonize
ausführen, um die .c
Erweiterungsdateien zu erstellen, bevor Sie pip install -e .
.