Difference between revisions of "Mrec"

From RecSysWiki
Jump to navigation Jump to search
(Created page with "'''mrec''' is a Python package developed at Mendeley to support recommender systems development and evaluation. The package currently focuses on item similarity and other meth...")
 
Line 1: Line 1:
'''mrec''' is a Python package developed at Mendeley to support recommender systems development and evaluation. The package currently focuses on item similarity and other methods that work well on implicit feedback, and on experimental evaluation.
+
'''mrec''' is a Python package developed at Mendeley to support recommender systems development and evaluation. The package contains implementations of methods which work well in the most common real world recommendation scenario i.e. top-n recommendation based on implicit feedback. It also supplies tools for consistent and reproducible evaluation of recommendations produced using mrec itself or with any other framework. Last but not least it offers an example of how to use IPython.parallel to run the same code in parallel either on the cores of a single machine or on a cluster.
 
 
mrec tries to fill two small gaps in the current landscape, firstly by supplying simple tools for consistent and reproducible evaluation, and secondly by offering examples of how to use IPython.parallel to run the same code either on the cores of a single machine or on a cluster. The combination of IPython and scientific Python libraries is very powerful, but there are still rather few examples around that show how to get it to work in practice.
 
  
 
Highlights:
 
Highlights:
Line 9: Line 7:
 
* a matrix factorization model that optimizes the Weighted Approximately Ranked Pairwise (WARP) ranking loss [3].
 
* a matrix factorization model that optimizes the Weighted Approximately Ranked Pairwise (WARP) ranking loss [3].
 
* a hybrid model optimizing the WARP loss for a ranking based jointly on a user-item matrix and on content features for each item.
 
* a hybrid model optimizing the WARP loss for a ranking based jointly on a user-item matrix and on content features for each item.
* utilities to train models and make recommendations in parallel using IPython.
+
* utilities to train models and make recommendations in parallel.
 
* utilities to prepare datasets and compute quality metrics.
 
* utilities to prepare datasets and compute quality metrics.
  

Revision as of 15:27, 8 December 2013

mrec is a Python package developed at Mendeley to support recommender systems development and evaluation. The package contains implementations of methods which work well in the most common real world recommendation scenario i.e. top-n recommendation based on implicit feedback. It also supplies tools for consistent and reproducible evaluation of recommendations produced using mrec itself or with any other framework. Last but not least it offers an example of how to use IPython.parallel to run the same code in parallel either on the cores of a single machine or on a cluster.

Highlights:

  • a (relatively) efficient implementation of the SLIM item similarity method [1].
  • an implementation of Hu, Koren & Volinsky's WRMF weighted matrix factorization for implicit feedback [2].
  • a matrix factorization model that optimizes the Weighted Approximately Ranked Pairwise (WARP) ranking loss [3].
  • a hybrid model optimizing the WARP loss for a ranking based jointly on a user-item matrix and on content features for each item.
  • utilities to train models and make recommendations in parallel.
  • utilities to prepare datasets and compute quality metrics.

Documentation for mrec can be found at http://mendeley.github.io/mrec.

The source code is available at https://github.com/mendeley/mrec.