The World Of Recommender Systems

Saket Garodia
Analytics Vidhya
Published in
4 min readJan 2, 2020

What are recommender systems in the field of data science?

Recommender Systems is one of the areas which ignited my interest in Data Science. Being an avid end-user of Netflix, Amazon and a couple more eCommerce and content-based platforms, I used to be fascinated by the quality of recommendations I used to get on all these online platforms which in turn led me to read about them in detail.

What are Recommender Systems?

Wikipedia says ‘A recommender system or a recommendation system (sometimes replacing ‘system’ with a synonym such as a platform or an engine) is a subclass of information filtering system that seeks to predict the “rating” or “preference” a user would give to an item. They are primarily used in commercial applications.’

https://en.wikipedia.org/wiki/Recommender_system

Basically, any system which predicts a user’s future preference based on his past preferences is called a recommender system. These days, there are many advanced recommenders systems that are used by corporations like Netflix, Amazon, etc. In fact, most of their revenue is dependent on the quality of their recommendation systems. Therefore, as a data scientist, its imperative for us to understand how they work. First of all, let us take a brief view of a few kinds of recommendations systems before delving into their implementation.

I will briefly explain them through examles as examples will increase your curiosity in knowing more about them and that is what matters:-

1) Content-Based Recommender Systems :

Content-Based Recommender Systems, as the name suggests, works by recommending a product using the content of the previous products we liked.

Imagine you are a person who really liked the plot of the movie ‘A’ and you want to be recommended a new movie whose plot is similar to its plot. The recommender system that can actually provide such similar movies based on the plots would come under Content-Based Recommender Systems.

Here’s my blog where I have illustrated the implementation of a content-based Recommender System in Python:

https://medium.com/@saketgarodia/content-based-recommender-systems-in-python-2b330e01eb80

2. Meta-data based Recommender Systems:

Again, as the name suggests, when a recommender system recommends us a product based on the metadata of the products we purchased in the past, these systems come under Meta-Data based recommender systems.

For example, lets say a person is very fond of some directors and genres and he just wants to be recommended movies based on these directors and genres and some other metadata like the cast and the crew of the movie. In this case, a Meta-data based Recommender Systems will come to his rescue.

Here’s my blog where I have illustrated the implementation of a metadata-based Recommender System in Python:

https://medium.com/@saketgarodia/metadata-based-recommender-systems-in-python-c6aae213b25c

3. Recommender Systems using Collaborative Filtering:

Most of the recommender systems used nowadays use Collaborative Filtering approaches in some form. Each one of us would have bought a product or used one which was recommended to us based on a collaborative filtering approach. Netflix’s ‘Users like you also like’ feature or Amazon’s ‘Because you bought’ feature use collabortive filtering techniques to recommend us products.

As an example, let us say a company (like Netflix) has data of users and movies and some of the ratings which the users have given to the movies they have watched. To recommend us a movie based on collaborative filtering, the company will first find the users who are similar to us using the ratings on the other movies that the other users have provided and then they will try to predict the ratings we could have given to all the other movies we haven’t watched using the power of other similar users.

In short, Collaborative Filtering is a technique whereby the system tries to find the most similar users and recommend products based on other similar users.

Here’s my blog where I have illustrated the implementation of a metadata-based Recommender System in Python:

https://medium.com/@saketgarodia/recommendation-system-using-collaborative-filtering-cc310e641fde

There are other kinds of recommender systems like Hybrid Recommender systems which can be made by combining one or more than one of the above recommender systems.

I hope I was able to arouse some curiosity about recommender systems through this blog.

Please go through my following blogs where I have implemented all these recommender systems in python on the Kaggles movielens 100k dataset.

  1. Content-Based Recommendation System: https://medium.com/@saketgarodia/content-based-recommender-systems-in-python-2b330e01eb80
  2. Meta-data based Recommender Systems: https://medium.com/@saketgarodia/metadata-based-recommender-systems-in-python-c6aae213b25c
  3. Recommender Systems using Collaborative Filtering: https://medium.com/@saketgarodia/recommendation-system-using-collaborative-filtering-cc310e641fde

I will be glad to get some feedback.

Thank you.

--

--

Saket Garodia
Analytics Vidhya

Senior Data Scientist at 84.51(Kroger), AI/Data Science, Psychology, economics, books; Linkedin — https://www.linkedin.com/in/saket-garodia/