Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Implicit | 3,165 | 22 | 10 | 6 days ago | 43 | January 29, 2022 | 82 | mit | Python | |
Fast Python Collaborative Filtering for Implicit Feedback Datasets | ||||||||||
Librec | 3,113 | 9 months ago | 79 | other | Java | |||||
LibRec: A Leading Java Library for Recommender Systems, see | ||||||||||
Recommendation | 324 | 8 months ago | 19 | mit | Jupyter Notebook | |||||
Recommendation System using ML and DL | ||||||||||
Kalman | 53 | a year ago | 5 | March 25, 2022 | mit | Go | ||||
Adaptive Kalman filter in Golang | ||||||||||
Recommendationengine | 37 | 5 years ago | mit | Java | ||||||
[Deprecated] An optimized MapReduce for item‐based collaborative filtering recommendation algorithm with empirical analysis | ||||||||||
Recommendation Systems | 28 | 2 years ago | gpl-3.0 | Jupyter Notebook | ||||||
Recommendation Systems This is a workshop on using Machine Learning and Deep Learning Techniques to build Recommendation Systesm Theory: ML & DL Formulation, Prediction vs. Ranking, Similiarity, Biased vs. Unbiased Paradigms: Content-based, Collaborative filtering, Knowledge-based, Hybrid and Ensembles Data: Tabular, Images, Text (Sequences) Models: (Deep) Matrix Factorisation, Auto-Encoders, Wide & Deep, Rank-Learning, Sequence Modelling Methods: Explicit vs. implicit feedback, User-Item matrix, Embeddings, Convolution, Recurrent, Domain Signals: location, time, context, social, Process: Setup, Encode & Embed, Design, Train & Select, Serve & Scale, Measure, Test & Improve Tools: python-data-stack: numpy, pandas, scikit-learn, keras, spacy, implicit, lightfm Notes & Slides Basics: Deep Learning AI Conference 2019: WhiteBoard Notes | In-Class Notebooks Notebooks Movies - Movielens 01-Acquire 02-Augment 03-Refine 04-Transform 05-Evaluation 06-Model-Baseline 07-Feature-extractor 08-Model-Matrix-Factorization 09-Model-Matrix-Factorization-with-Bias 10-Model-MF-NNMF 11-Model-Deep-Matrix-Factorization 12-Model-Neural-Collaborative-Filtering 13-Model-Implicit-Matrix-Factorization 14-Features-Image 15-Features-NLP Ecommerce - YooChoose 01-Data-Preparation 02-Models News - Hackernews Product - Groceries Python Libraries Deep Recommender Libraries Tensorrec - Built on Tensorflow Spotlight - Built on PyTorch TFranking - Built on TensorFlow (Learning to Rank) Matrix Factorisation Based Libraries Implicit - Implicit Matrix Factorisation QMF - Implicit Matrix Factorisation Lightfm - For Hybrid Recommedations Surprise - Scikit-learn type api for traditional alogrithms Similarity Search Libraries Annoy - Approximate Nearest Neighbour NMSLib - kNN methods FAISS - Similarity search and clustering Learning Resources Reference Slides Deep Learning in RecSys by Balázs Hidasi Lessons from Industry RecSys by Xavier Amatriain Architecting Recommendation Systems by James Kirk Recommendation Systems Overview by Raimon and Basilico Benchmarks MovieLens Benchmarks for Traditional Setup Microsoft Tutorial on Recommendation System at KDD 2019 Algorithms & Approaches Collaborative Filtering for Implicit Feedback Datasets Bayesian Personalised Ranking for Implicit Data Logistic Matrix Factorisation Neural Network Matrix Factorisation Neural Collaborative Filtering Variational Autoencoders for Collaborative Filtering Evaluations Evaluating Recommendation Systems | ||||||||||
Recommender System | 21 | 6 years ago | Python | |||||||
In this code we implement and compared Collaborative Filtering algorithm, prediction algorithms such as neighborhood methods, matrix factorization-based ( SVD, PMF, SVD++, NMF), and many others. | ||||||||||
Recommender Systems Paper | 21 | 2 years ago | ||||||||
Must-read Papers for Recommender Systems (RS) | ||||||||||
Cp User Behavior | 18 | 5 years ago | mit | C# | ||||||
Recommendation engine using collaborative filtering and matrix factorization | ||||||||||
Kalman Clib | 17 | 8 years ago | mit | C | ||||||
Microcontroller targeted C library for Kalman filtering |
LibRec (http://www.librec.net) is a Java library for recommender systems (Java version 1.7 or higher required). It implements a suit of state-of-the-art recommendation algorithms, aiming to resolve two classic recommendation tasks: rating prediction and item ranking.
It has been a year since the last version was released. In this year, lots of changes have been taken to the LibRec project, and the most significant one is the formulation of the LibRec team. The team pushes forward the development of LibRec with the wisdom of many experts, and the collaboration of experienced and enthusiastic contributors. Without their great efforts and hardworking, it is impossible to reach the state that a single developer may dream of.
LibRec 2.0 is not the end of our teamwork, but just the begining of greater objectives. We aim to continously provide NEXT versions for better experience and performance. There are many directions and goals in plan, and we will do our best to make them happen. It is always exciting to receive any code contributions, suggestions, comments from all our LibRec users.
We hope you enjoy the new version!
PS: Follow us on WeChat to have first-hand and up-to-date information about LibRec.
You can run LibRec with configurations from command arguments:
librec rec -exec -D rec.recommender.class=itemcluster -D rec.pgm.number=10 -D rec.iterator.maximum=20
or from a configuration file:
librec rec -exec -conf itemcluster-test.properties
You can use LibRec as a part of your projects, and use the following codes to run a recommender.
public void main(String[] args) throws Exception { // recommender configuration Configuration conf = new Configuration(); Resource resource = new Resource("rec/cf/userknn-test.properties"); conf.addResource(resource); // build data model DataModel dataModel = new TextDataModel(conf); dataModel.buildDataModel(); // set recommendation context RecommenderContext context = new RecommenderContext(conf, dataModel); RecommenderSimilarity similarity = new PCCSimilarity(); similarity.buildSimilarityMatrix(dataModel, true); context.setSimilarity(similarity); // training Recommender recommender = new UserKNNRecommender(); recommender.recommend(context); // evaluation RecommenderEvaluator evaluator = new MAEEvaluator(); recommender.evaluate(evaluator); // recommendation results ListrecommendedItemList = recommender.getRecommendedList(); RecommendedFilter filter = new GenericRecommendedFilter(); recommendedItemList = filter.filter(recommendedItemList); }
Please cite the following papers if LibRec is helpful to your research.
We would like to express our appreciation to the following people for contributing source codes to LibRec, including Prof. Robin Burke, Bin Wu, Ge Zhou, Ran Locar, Shawn Rutledge, Tao Lian, Takuya Kitazawa, etc.
We also appreciate many others for reporting bugs and issues, and for providing valuable suggestions and support.
LibRec has been used in the following publications (let me know if your paper is not listed):
LibRec is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. LibRec is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with LibRec. If not, see http://www.gnu.org/licenses/.