← All Projects

Movie Recommendation with Graph Neural Networks

Learning movie embeddings from co-viewing patterns on MovieLens to suggest the next film to watch

Overview

Streaming services have huge catalogs, so we built a system that learns which movies go together and suggests what to watch next.

Methodology

flowchart LR
  A["Graph: Nodes + Edges"] --> B[Node Features]
  B --> C["Graph Neural Network layers"]
  C --> D[Train]
  D --> E["Evaluate: Node-Classification Accuracy"]

The Data (users / movies / ratings)

We used the MovieLens dataset, which records how thousands of movies were rated across hundreds of users.

Graph Construction

We connected movies that are often watched together, with stronger links for pairs that show up as a true pattern rather than chance.

GNN Model

We walked randomly through the movie graph to create training sequences, then trained a small network to learn a numeric fingerprint for each movie.

Recommendations & Results

Once each movie had its learned fingerprint, we could find the five most similar films to any title a viewer enjoyed.

Key Takeaways

By turning viewing history into a graph and learning from it, the system recommends movies without anyone labeling the data.

Tech Stack

Attribution

This project was completed as part of the MIT Applied Data Science Program (MIT IDSS / Great Learning). The program provided the case-study scaffolding; the analysis, code, and results are my own. Published with permission, for portfolio use only.