.. Implicit documentation master file, created by sphinx-quickstart on Mon Jul 10 17:23:10 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Implicit ==================================== Fast Python Collaborative Filtering for Implicit Datasets This project provides fast Python implementations of several different popular recommendation algorithms for implicit feedback datasets: * Alternating Least Squares as described in the papers `Collaborative Filtering for Implicit Feedback Datasets `_ and in `Applications of the Conjugate Gradient Method for Implicit Feedback Collaborative Filtering `_. * `Bayesian Personalized Ranking `_ * `Logistic Matrix Factorization `_ * Item-Item Nearest Neighbour models, using Cosine, TFIDF or BM25 as a distance metric All models have multi-threaded training routines, using Cython and OpenMP to fit the models in parallel among all available CPU cores. In addition, the ALS and BPR models both have custom CUDA kernels - enabling fitting on compatible GPU's. This library also supports using approximate nearest neighbours libraries such as `Annoy `_, `NMSLIB `_ and `Faiss `_ for `speeding up making recommendations `_. Basic Usage ----------- .. code-block:: python import implicit # initialize a model model = implicit.als.AlternatingLeastSquares(factors=64) # train the model on a sparse matrix of user/item/confidence weights model.fit(user_item_data) # recommend items for a user recommendations = model.recommend(userid, user_item_data[userid]) # find related items related = model.similar_items(itemid) .. toctree:: :maxdepth: 2 :caption: Contents: Installation Tutorial API Reference Resources Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`