Live

Movie Recommendation System

End-to-end recommendation engine with content-based filtering (TF-IDF), collaborative filtering (SVD), and popularity-based ranking on MovieLens 100K.

Overview

Built an end-to-end movie recommendation system using the MovieLens 100K dataset, implementing content-based filtering (TF-IDF), collaborative filtering (SVD), and popularity-based ranking to compare different recommendation strategies. Built an interactive Streamlit application for exploring personalised recommendations and evaluated model performance using RMSE, Precision@10, NDCG, and genre consistency.

Recommendation Approaches

1

Content-Based (TF-IDF)

Encodes movie titles and genres into TF-IDF vectors and recommends similar items using cosine similarity.

2

Collaborative (SVD)

Matrix factorisation via Surprise library. Learns latent user-item interaction patterns from the ratings matrix.

3

Popularity-Based

Baseline ranking by average rating and vote count. Useful for cold-start and non-personalised recommendations.

Evaluation Metrics

RMSE

Rating prediction accuracy for SVD model

Precision@10

How many of the top-10 recommendations are relevant

NDCG@10

Ranking quality — are the best items ranked highest?

Genre Consistency

Do recommended movies share genres with the input?

Tech Stack

PythonPandasNumPyScikit-learnSurprise (SVD)TF-IDFCosine SimilarityStreamlitTMDb APIGit