This repo intends to be a tour through some recommendation algorithms in python using various dataset. Companion posts are:
At the moment the datasets included are:
Each of the two datasets is used to illustrate a set of different techniques,
although I explored a wider range of techniques with the
Ponpare dataset and
the corresponding notebooks are, in general, more detailed.
The core of the repo are the notebooks in each directory. They intend to be self-contained and in consequence, there is some of code repetition. The code is, of course, "notebook-oriented". The notebooks have plenty of explanations and references to relevant papers or packages. My intention was to focus on the code, but you will also find some math.
This is what you will find in the notebooks:
lightGBMwith a tutorial on how to optimize gbms
I have included a more modular (nicer looking) version of a possible final
solution (described in
In addition, I have included an illustration of how to use other evaluation
metrics apart from the one shown in the notebooks ( the mean average precision
or MAP) such as the Normalized Discounted Cumulative Gain
(NDCG). This can
be found in
using_ncdg.py in the directory
I hope the code here is useful to someone. If you have any idea on how to improve the content of the repo, or you want to contribute, let me know.