MOVIE RECOMMENDER SYSTEM using content-based and collaborative filtering

  • Created a movie recommender system using collaborative filtering and content-based filtering approaches.
  • Compared the results of all the approaches by calculating the RMSE values


Matching consumers with the most appropriate products is key to enhancing user satisfaction and loyalty. Therefore, more retailers have become interested in recommender systems, which analyse patterns of user interest in products to provide personalized recommendations that suit a user’s taste.

Recommender System Approaches

Machine learning algorithms in recommender systems are typically classified into two categories:

  1. Collaborative filtering
  2. Content-based filtering

Collaborative filtering:

  • This approach is based on the past interactions between users and the target items.
  • The input to a collaborative filtering system will be all historical data of user interactions with target items.
  • This data is typically stored in a matrix where the rows are the users, and the columns are the items.

Content-based Filtering:

  • Works with data that the user provides, either explicitly (rating) or implicitly (clicking on a link).
  • Based on that data, a user profile is generated, which is then used to make suggestions to the user.

MovieLens Dataset:

  • 20 million ratings
  • 465,000 tags applications applied to 27,000 movies by 138,000 users

Performance metrics:

Mean Absolute Error: Mean Absolute Error measures the average deviation (error) in the predicted rating vs. the true rating.
Root Mean Squared Error: Root Mean squared error punishes big mistakes more severely

Find the entire project here: