Project Overview
You may not know the formal definition of a Recommender System, but you've definitely encountered one before. They're present everywhere — Amazon suggests products, Netflix recommends shows, Medium surfaces articles. Under the hood, a recommendation engine is working to predict what you'll like next.
This project implements a movie recommendation system using both collaborative filtering and content-based filtering techniques, built with Python and scikit-learn.
How It Works
- Content-Based Filtering: Recommends movies similar to ones the user has rated highly, based on genre, cast, director, and description metadata
- Collaborative Filtering: Finds patterns across user ratings to suggest movies liked by users with similar taste profiles
- Cosine similarity matrix computed from TF-IDF vectorized movie descriptions
- Dataset sourced from MovieLens CSV files
What I Learned
This project was a deep dive into machine learning fundamentals — specifically similarity computation, matrix factorization, and the trade-offs between content-based vs. collaborative filtering approaches. Working with real-world MovieLens data taught me how to handle sparse matrices and cold-start problems in recommender systems.