Hybrid Movie Recommendation System
Developed a hybrid movie recommendation system combining content-based filtering, user-based collaborative filtering, and SVD matrix factorization to generate personalized recommendations using movie metadata and over 100,000 user ratings.

Problem
Movie streaming platforms contain extensive catalogs, making it difficult for users to discover relevant content. Recommendations based only on movie characteristics may overlook individual preferences, while recommendations based solely on user ratings can be limited by sparse interaction data.
The objective was to develop a personalized recommendation system that combines movie metadata with historical user ratings, allowing recommendations to reflect both content similarity and individual user preferences.
Approach
Collected and processed movie metadata, credits, keywords, movie identifiers, and user ratings. Cleaned and merged datasets, converted structured genre information into numerical features, and constructed a user-movie rating matrix.
Developed a content-based recommendation model by generating weighted user preference profiles from previously rated movie genres. Calculated movie relevance scores based on these profiles.
Implemented user-based collaborative filtering using Pearson correlation to identify users with similar rating histories. Generated recommendations through similarity-weighted ratings and combined them with content-based results using MinMax normalization and equal-weight score fusion.
Developed an additional hybrid model using TF-IDF vectorization and cosine similarity to identify movies with similar descriptions. Applied SVD matrix factorization using the Surprise library to estimate user-specific ratings, then ranked content-similar candidates according to their predicted ratings. Used cross-validation with RMSE and MAE for the SVD model.
Outcome
Implemented two hybrid recommendation approaches combining content information and user rating patterns.
The first approach merged genre-based recommendations with user-based collaborative filtering, normalized their scores, and produced a ranked list of 12 overlapping movie recommendations in the saved example.
The second approach combined TF-IDF-based movie similarity with SVD rating predictions. It generated personalized top-15 recommendations for different users, demonstrating how the same input movie can produce different recommendation rankings based on user preferences.
The notebook also implements cross-validation for SVD using RMSE and MAE. However, numerical evaluation results are not preserved in the available notebook, so no unverified accuracy or performance claims are included.
Highlights
- Processed 45,466 movie metadata records and 100,004 user ratings
- Developed content-based and user-based collaborative filtering models
- Implemented Pearson correlation for user similarity analysis
- Combined recommendation scores using MinMax normalization and equal-weight fusion
- Built an SVD-based hybrid recommender using the Surprise library
- Applied TF-IDF vectorization and cosine similarity to movie descriptions
- Generated personalized top-15 recommendations based on user IDs and movie titles
Notes
Designed and implemented a hybrid movie recommendation system that combines multiple recommendation techniques to generate personalized movie suggestions based on user preferences, movie characteristics, and historical rating patterns.
The project uses movie metadata containing 45,466 records and a dataset of 100,004 ratings from 671 users. Developed data preprocessing and feature engineering workflows to prepare movie genres, descriptions, and user-item interactions for recommendation modeling.
Implemented content-based filtering using weighted genre preferences and TF-IDF vectorization with cosine similarity. Developed user-based collaborative filtering using Pearson correlation to identify users with similar rating behavior and generate weighted recommendations.
Combined content-based and collaborative filtering results using normalized recommendation scores. Additionally, implemented an SVD-based hybrid model using the Surprise library, combining movie-description similarity with predicted user ratings to produce personalized top-15 movie recommendations.
The project demonstrates practical approaches to recommendation modeling, data integration, user preference analysis, and hybrid ranking.