Table of Contents
They are systems or techniques that recommend or suggest a particular product, service, or entity.
The power of community to provide recommendations. Ex: Amazon
Collaborative filtering can be classified into two types:
The main idea is that if we are able to find users that have bought and liked similar items in the past, they are more likely to buy similar items in the future too
Ex: Amazon's Customers who bought this item also bought this item too
If a group of people have rated two items similarly, then the two items must be similar. Therefore, if a person likes one particular item, they're likely to be interested in the other item too.
Collaborative filters suffer from what we call the cold start problem.
Content-based systems do not require data relating to past activity. Instead, they provide recommendations based on a user profile and metadata (like: kind of movie "Romance") it has on particular items. Ex: Netflix
what Netflix does is ask you to rate a few movies that you have watched before. Based on this information and the metadata it already has on movies, it creates a watchlist for you.
The system that asks for certain specifics and preferences and then provides recommendations that satisfy those aforementioned conditions.
you could ask the user about their requirements for a house, such as its locality, their budget, the number of rooms, and the number of storeys, and so on. Based on this information, you can then recommend properties that will satisfy all of the above conditions.
Knowledge-based recommenders suffer from the problem of low novelty
Hybrid recommenders are robust systems that combine various types of recommender models. Hybrid systems try to nullify the disadvantage of one model against an advantage of another.
I use IMDB's weighted rating formula as our metric
Mathematically, it can be represented as follows:
Weighted Rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C where
v is the number of votes garnered by the movie
m is the minimum number of votes required for the movie to be in the chart (the prerequisite)
R is the mean rating of the movie
C is the mean rating of all the movies in the dataset
The steps that used in this recommender are as follows:
1. Choose a metric (or score) to rate the movies on
2. Decide on the prerequisites for the movie to be featured on the chart
3. Calculate the score for every movie that satisfies the conditions
4. Output the list of movies in decreasing order of their scores
The dataset you can download it from here
We are going to go ahead and build a knowledge-based recommender on top of our IMDB Top 250 clone. This will be a simple function that will perform the following tasks:
- Ask the user for the genres of movies he/she is looking for
- Ask the user for the duration
- Ask the user for the timeline of the movies recommended
- Using the information collected, recommend movies to the user that have a high weighted rating (according to the IMDB formula) and that satisfy the preceding conditions
We are going to build two types of content-based recommender with our movies dataset We use some feature extraction techniques like:
Also, you can know more about The cosine similarity score. from here
- This model compares the descriptions and taglines of different movies, and provides recommendations that have the most similar plot descriptions
- This model takes a host of features, such as genres, keywords, cast, and crew, into consideration and provides recommendations that are the most similar with respect to the aforementioned features.