This article was published as a part of the Data Science Blogathon
In this blog, I will discuss various things on the recommendation system like what is the recommendation system? What are its use-cases? How many types of recommendation systems and metrics are used for it.
In the above picture of amazon, you may have often seen this page when you try to purchase anything from amazon. These are the recommendation of the product you are trying to purchase and you will be amazed to know that amazon’s 35% of the revenue comes from these recommendation engines. Now you may have noticed the power of the recommendation engine. Nowadays every small to big company uses a recommendation engine. So now let me discuss this.
A recommendation system is a subclass of Information filtering Systems that seeks to predict the rating or the preference a user might give to an item. In simple words, it is an algorithm that suggests relevant items to users. Eg: In the case of Netflix which movie to watch, In the case of e-commerce which product to buy, or In the case of kindle which book to read, etc.
There are many use-cases of it. Some are
A. Personalized Content: Helps to Improve the on-site experience by creating dynamic recommendations for different kinds of audiences like Netflix does.
B. Better Product search experience: Helps to categories the product based on their features. Eg: Material, Season, etc.
In this type of recommendation system, relevant items are shown using the content of the previously searched items by the users. Here content refers to the attribute/tag of the product that the user like. In this type of system, products are tagged using certain keywords, then the system tries to understand what the user wants and it looks in its database and finally tries to recommend different products that the user wants.
In a movie recommendation system, each film is tagged with genres. When a new user, User A, joins, the system initially suggests popular movies or gathers information through a user form. As User A rates movies over time, preferences emerge; for instance, if User A consistently rates action movies highly but rates anime movies poorly, the system recommends more action-oriented content. However, this doesn’t imply a dislike for anime movies; further data collection is needed to refine recommendations accurately.
Recommending the new items to users based on the interest and preference of other similar users is basically collaborative-based filtering. For eg:- When we shop on Amazon it recommends new products saying “Customer who brought this also brought” as shown below.
This approach not only addresses the limitations of content-based filtering but also leverages user interactions, making it more robust. By focusing on the historical performance of users, this recommendation system can predict future preferences with greater accuracy.
There are 2 types of collaborative filtering:-
Rating of the item is done using the rating of neighbouring users. In simple words, It is based on the notion of users’ similarity.
Let see an example. On the left side, you can see a picture where 3 children named A, B, C, and 4 fruits i.e, grapes, strawberry, watermelon, and orange respectively.
Based on the image let assume A purchased all 4 fruits, B purchased only strawberry and C purchased strawberry as well as watermelon. Here A & C are similar kinds of users because of this C will be recommended Grapes and Orange as shown in dotted line.
The rating of the item is predicted using the user’s own rating on neighbouring items. In simple words, it is based on the notion of item similarity.
Let us see with an example as told above about users and items. Here the only difference is that we see similar items, not similar users like if you see grapes and watermelon you will realize that watermelon is purchased by all of them but grapes are purchased by Children A & B. Hence Children C is being recommended grapes.
Now after understanding both of them you may be wondering which to use when. Here is the solution if No. of items is greater than No. of users go with user-based collaborative filtering as it will reduce the computation power and If No. of users is greater than No. of items go with item-based collaborative filtering. For Example, Amazon has lakhs of items to sell but has billions of customers. Hence Amazon uses item-based collaborative filtering because of less no. of products as compared to its customers.
As we have discussed different types of recommendation systems their advantages and disadvantages but how can we evaluate whether the given model is recommending the right things or not and how many relevant things this system predicts and here comes evaluation metrics. There are several metrics for evaluating the model but here we will discuss 4 major metrics.
It gives how much relevant is the list of recommended items. Here precision at K means Recommended items in top k sets that are relevant.
It is the percentage of items in the training data model able to recommend in test sets. Or Simply, the percentage of a possible recommendation system can predict.
It is basically how many same items the model recommends to different users. Or, the dissimilarity between users lists and recommendations.
It is an average cosine similarity of all items in a list of recommendations.
This blog covered many topics related to recommendation engines like What are it and its use-cases. Apart from this different types of recommendation system like content-based filtering and collaborative based filtering and in collaborative filtering also user-based as well as item-based along with its examples, advantages and disadvantages, and finally the evaluation metrics to evaluate the model.
Data Collection: Gather information about users and items.
Data Preparation: Clean and organize the collected data.
Model Selection: Choose a method for making recommendations.
Training: Teach the model how to make recommendations using the data.
Evaluation: Check how well the model performs.
Fine-tuning: Adjust the model to improve its accuracy.
Deployment: Put the model into action for users to receive recommendations.
Monitoring and Updating: Keep an eye on the recommendations and make improvements as needed over time.
Recommendation systems provide personalized suggestions to users, boosting sales, engagement, and satisfaction across various platforms such as e-commerce, streaming services, social media, news, advertising, and travel. They tailor recommendations based on user preferences, behavior, and similarities with other users, enhancing the overall user experience.
The power of recommendation systems is their ability to suggest things tailored to you based on what you’ve liked before. They analyze a lot of data to predict what you might want next, making your experience better and helping businesses by boosting sales and keeping customers happy.
The first recommendation system is usually credited to the “Tapestry” project from Xerox PARC in the early 1990s. It suggested Usenet newsgroups based on users’ interests and those of similar users. Tapestry set the stage for future recommendation systems, introducing collaborative filtering techniques for personalized recommendations.
The media shown in this article are not owned by Analytics Vidhya and are used at the Author’s discretion.