User-Based Collaborative Filtering is a technique used to predict the items that a user might like on the basis of ratings given to that item by the other users who have similar taste with that of the target user.
Many websites use collaborative filtering for building their recommendation system.
Steps for User-Based Collaborative Filtering:
Step 1: Finding the similarity of users to the target user U.
Similarity for any two users ‘a’ and ‘b’ can be calculated from the given formula,
Step 2: Prediction of missing rating of an item
Now, the target user might be very similar to some users and may not be much similar to the others. Hence, the ratings given to a particular item by the more similar users should be given more weightage than those given by less similar users and so on. This problem can be solved by using a weighted average approach. In this approach, you multiply the rating of each user with a similarity factor calculated using the above mention formula.
The missing rating can be calculated as,
Example: Consider a matrix which shows four users Alice, U1, U2 and U3 rating on different news apps. The rating range is from 1 to 5 on the basis of users likability of the news app. The ‘?’ indicates that the app has not been rated by the user.
Step 1: Calculating the similarity between Alice and all the other users
At first we calculate the averages of the ratings of all the user excluding I5 as it is not rated by Alice. Therefore, we calculate the average as ,
Therefore, we have
and calculate the new ratings as,
Hence, we get the following matrix,
Now, we calculate the similarity between Alice and all the other users.
Step 2: Predicting the rating of the app not rated by Alice
Now, we predict Alice’s rating for BBC News App,
Hence, with the help of a small example we tried to understand the working of User-based collaborative filtering.
- Collaborative Filtering - ML
- Item-to-Item Based Collaborative Filtering
- NLP | Training a tokenizer and filtering stopwords in a sentence
- Top 10 Libraries for Data Visualization in 2020
- DaskGridSearchCV - A competitor for GridSearchCV
- Need of Data Structures and Algorithms for Deep Learning and Machine Learning
- GPT-3 : Next AI Revolution
- Implementation of K-Nearest Neighbors from Scratch using Python
- Building an Auxiliary GAN using Keras and Tensorflow
- Understanding Auxiliary Classifier : GAN
- Top Cloud Computing Platforms for Machine Learning
- Clustering in Data Mining
- Image-to-Image Translation using Pix2Pix
- Bisecting K-Means Algorithm Introduction
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.