Crab: A Recommendation Engine Framework for Python
Marcel Caraciolo
Bruno Melo
Ricardo Caspirro
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering
recommendation algorithms in the world of scientific Python packages (NumPy,SciPy, Matplotlib). The engine
aims to provide a rich set of components from which you can construct a customized recommender system from
a set of algorithms. It is designed for scability, flexibility and performance making use of scientific
optimized python packages in order to provide simple and efficient solutions that are acessible to everybody
and reusable in various contexts: science and engineering.
The engine takes users' preferences for items and returns estimated preferences for other items. For instance,
a web site that sells movies could easily use Crab to figure out, from past purchase data, which movies a
customer might be interested in watching to. This work presents our inniative in developing this framework
in Python following the standards of the well-known machine learning toolkit Scikit-Learn to be an alternative
solution for Mahout Taste collaborative framework for Java. Finally, we discuss its main features,
real scenarios where this framework is already applied and future extensions.
data mining, machine learning, recommendation systems, information filtering, framework, web
DOI10.25080/Majora-ebaa42b7-002