Almost every day we go online we encounter recommender systems; if you are listening to your favorite song on Spotify, binge-watching a TV show on Netflix or buying a new laptop on Amazon. Although we all know these recommendation engines exist, it is less known what algorithms lie behind such recommendations.
To get a better understanding of the algorithms used in recommender systems we decided to build a recommender ourselves! With COVID-19 making us more housebound than ever, a topic for our recommendation engine was quickly found; we decided to build a book recommender using Python.
Although there are ready-to-use packages to build recommender systems (such as Surprise) we decided to build or own recommendation system.
In this notebook we explain step-by-step how we built our recommendation engine. Our notebooks contain of the following steps:
By searching the internet, we could find many example scripts for recommenders, but not no advice in choosing the best parameters. For our book recommender we didn’t know what the best options were for parameters x, the number of most similar people you select for recommendations, and N which is the minimum number of times a book must be reviewed by the top x people to be part of the final recommendations. N=1 can result in recommendations based on outliers, but also very good recommendation which are not that common. A higher N means automatically a higher x. This means less outliers, but possible to general recommendations. We run a test among our colleagues to find the best parameters. In the notebook you can read what in our case with our dataset the best parameters are.
If you are curious about what we did, then take a look at our notebook.
17 April 2023
In every company it’s a struggle to make sure we only keep the documents we want... read more
7 September 2022
We don’t know if you’ve heard already, but there is yet another crisis on our horizon:... read more
21 February 2022
Plan your calendar free and make sure you have plenty of party clothes in your closet,... read more