- A list of libraries for recommender systems. Feel free to send a request to add/update the information.
- The list is sorted in alphabetical order
Name | Language | Type | License | Reference |
---|---|---|---|---|
Crab | Python | RS | BSD | |
CARSKit | Java | CARS | GPL | Yong Zheng, Bamshad Mobasher, Robin Burke. "CARSKit: A Java-Based Context-aware Recommendation Engine", Proceedings of the 15th IEEE International Conference on Data Mining (ICDM) Workshops, pp. 1668-1671, Atlantic City, NJ, USA, Nov 2015 |
DeepCTR | Python | ML | Apache 2.0 | Weichen Shen, DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR models, 2017 |
EasyRec | Python | RS | Apache-2.0 | EasyRec: An easy-to-use, extendable and efficient framework for building industrial recommendation systems, AAAI'23 |
ELLIOT | Tensorflow | RS | Apache 2.0 | Anelli, Vito Walter and Bellogin, Alejandro and Ferrara, Antonio and Malitesta, Daniele and Merra, Felice Antonio and Pomo, Claudio and Donini, Francesco Maria and Di Noia, Tommaso, Elliot: A Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation, SIGIR'21 |
fastFM | Python | ML | Bayer, Immanuel. "fastFM: A library for factorization machines." Journal of Machine Learning Research 17.184 (2016): 1-5. | |
LightFM | Python | RS | Apache 2.0 | Maciej Kula, Metadata Embeddings for User and Item Cold-start Recommendations. 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. |
LibRec | Java | RS | GPL | Guo, Guibing, et al. "LibRec: A Java Library for Recommender Systems." UMAP Workshops. 2015. |
LensKit | Java | RS | LGPL | Ekstrand, Michael D., et al. "LensKit: a modular recommender framework." Proceedings of the fifth ACM conference on Recommender systems. ACM, 2011. |
LODRecLib | Java | LODRS | MIT | Noia, Tommaso Di, et al. "Sprank: Semantic path-based ranking for top-n recommendations using linked open data." ACM Transactions on Intelligent Systems and Technology (TIST) 8.1 (2016): 9. |
libFM | C++ | ML | GPL | Steffen Rendle (2012): Factorization Machines with libFM, in ACM Trans. Intell. Syst. Technol., 3(3), May |
MTRecLib | PyTorch | MTRS | "Learning to Expand Audience via Meta Hybrid Experts and Critics for Recommendation and Advertising" KDD'21 | |
MyMedialite | C# | RS | GPL | Gantner, Zeno, et al. "MyMediaLite: A free recommender system library." Proceedings of the fifth ACM conference on Recommender systems. ACM, 2011. |
Mahout | Java | ML | Apache 2.0 | |
MMRec | Python | MMRS | GPL 3.0 | Hongyu Zhou, et al. "A Comprehensive Survey on Multimodal Recommender Systems: Taxonomy, Evaluation, and Future Directions". arXiv:2302.04473 |
NeuRec | Python, Tensorflow | RS | MIT | |
OpenLearning4DeepRecSys | Tensorflow | RS | ||
python-recsys | Python | RS | ||
QRec | Tensorflow | RS | ||
recmetrics | Python | Metrics | MIT | |
Recommender-System | Tensorflow | RS | MIT | |
RankSys | Java | RS | MPL | https://github.com/RankSys/RankSys/wiki/References |
RankLib | Java | RS | BSD | |
RecBole | PyTorch | RS | MIT | Wayne Xin Zhao et. al, RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms, CIKM'21 |
recommenderlab | R | RS | Michael Hahsler (2022) recommenderlab: An R framework for developing and testing recommendation algorithms. arXiv:2205.12371 | |
SELFRec | PyTorch, Tensorflow | SSL | Yu, Junliang et. al, Self-Supervised Learning for Recommender Systems: A Survey | |
Tensorflow Recommenders | Tensorflow | RS | Apache 2.0 | |
TensorRec | Tensorflow | RS | Apache 2.0 | |
tffm | Tensorflow | RS | MIT |
- RS: Recommender System
- MTRS: MultiTask RS
- MMRS: MultiModal RS
- ML: Machine Learning
- SSL: Self Supervised Learning for RS
- LODRS: Linked Open Data RS
- CARS: Context-Aware Recommender System