lightfm
1.17
빌드 상태 | |
---|---|
리눅스 | |
OSX(OpenMP 비활성화) | |
Windows(OpenMP 비활성화) |
LightFM은 BPR 및 WARP 순위 손실의 효율적인 구현을 포함하여 암시적 및 명시적 피드백 모두를 위한 여러 인기 있는 추천 알고리즘을 Python으로 구현한 것입니다. 사용하기 쉽고 빠르며(멀티스레드 모델 추정을 통해) 고품질 결과를 생성합니다.
또한 항목과 사용자 메타데이터를 모두 기존 행렬 분해 알고리즘에 통합하는 것도 가능합니다. 이는 각 사용자와 항목을 해당 기능의 잠재 표현의 합계로 나타내므로 추천이 새 항목(항목 기능을 통해)과 새 사용자(사용자 기능을 통해)로 일반화될 수 있습니다.
자세한 내용은 설명서를 참조하세요.
도움이 필요하신가요? 이메일, 트위터, 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
확장 파일을 변경할 때 pip install -e .
실행하기 전에 확장 .c
파일을 생성하려면 python setup.py cythonize
실행해야 합니다. .