Статус сборки | |
---|---|
Линукс | |
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, если это поможет вашему исследованию. Вы можете использовать следующую запись 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 [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
При внесении изменений в файлы расширения .pyx
вам необходимо запустить python setup.py cythonize
, чтобы создать файлы расширения .c
прежде чем запускать pip install -e .
.