Skip to content

A simple recommender system powered by collaborative filtering that suggest movies to users based on reviews 🎥

Notifications You must be signed in to change notification settings

jayshrivastava/blockbox-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockbox Movie Recommender API 🔮

https://blockbox-web.herokuapp.com/

API Repository

The machine learning used to power this app is all located in this repo.

Frontend Repository

The front end code made in React is all located in the blockbox-web repo which can be found at https://github.com/jayshrivastava/blockbox-web.

Overview

This was created to demonstrate how retail insights, such as product recommendations, can be generated through simple machine learning algorithms. All ML algorithms are written in pure TypeScript and find recommendations based on anonymous ratings data. The app allows users to rate movies and generate recommendations for themselves.

Recommendations are generated using collaborative filtering. First, users are compared by cosine similarity (comparing the vectors of movie ratings by angle). Then, users are recommended items based on what similar users rated or 'watched'. Each relevant movie that may be of interest to user A is given a score based on how similar user A is to other users and how those users rated said movies. From there, the top scoring movies are recommended to user A.

For more info, see this guide. The models used to build this app follow the same idea, but with a few tweaks.

Dataset

The initial ratings/movies data is from the MovieLens Latest Dataset with movies dated from 1990 to 09/2018. The exact seed data can be found in the blockbox-infra repository which also contains the script to seed the blockbox Mongo DB.

As users rate movies, their data is also streamed in real time to MongoDB, so the dataset is consistently updated.

Also here are some good collaborative filtering datasets.

Dependencies

Node v 12.4.0 Yarn v 1.16.0

Scripts

yarn run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

yarn start

Runs the app in the development mode.

About

A simple recommender system powered by collaborative filtering that suggest movies to users based on reviews 🎥

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published