10

CyneMatch — Movie Recommendation System

Web movie recommendation app based on IMDB data. Content-based engine with Scikit-learn (cosine similarity), Django interface, and full Docker containerization.

Stack

PythonScikit-learnDjangoDocker

What happened?

  1. 01

    The question

    Can a meaningful movie be recommended from the similarity between the movies you already like?

  2. 02

    The problem

    Recommending by raw genre is crude. Average rating ignores what actually makes you like a movie.

  3. 03

    The hypothesis

    By representing each movie with its features (genres, keywords, cast) and measuring cosine similarity, we get a “movies like this” recommendation.

  4. 04

    The build

    Content-based recommendation engine with Scikit-learn (cosine similarity), Pandas & NumPy processing, Django interface, and full Docker containerization.

  5. 05

    The failure

    The first results recommended “similar” movies nobody would have associated. The problem: some features dominated the whole computation.

  6. 06

    The discovery

    Feature normalization and weighting radically change relevance. Content is good, but you have to dose it.

  7. 07

    The result

    A Dockerized Django web app that recommends movies from IMDB data.

  8. 08

    The next frontier

    Blending content and collaborative filtering (hybrid), and seriously evaluating recommendation quality.

Spider-Verse · homage