This repository is part of CSC 510 Software Engineering Project 2. It is a continuation of Group 21's CSC 510 Software Engineering Project 1.
Our video can be found here on YouTube.
To run this project locally, you need to follow the below steps:
NOTE: Make sure you have git and Python installed.
- Clone the repository
git clone https://github.com/bhoomi2807/SE21-project.git
- Go the the repository
cd SE21-project
- Make sure you have all the dependencies installed.
pip install -r requirements.txt
- On a Command Prompt/Terminal, run
app.py.
python app.py
Our code has been packaged and distributed to Test PyPI. It can be downloaded as follows.
pip install -i https://test.pypi.org/simple/ movie-recommender==0.0.1
Find the point descriptions of each class/function as well as instructions to run the project here.
Recommend a user with a set of movies that they might like by considering the movies they have liked in the past and also considering the movies liked by other users that have a similar taste like them.
- Content-Based
- Collaborative Filtering
- Item - Item Collaborative Filtering
- User - user Collaborative Filtering
There are two major approaches to implement recommendation systems: Content-Based and Collaborative Filtering. In Content-Based, we only consider the users’ past history and recommend movies from the genres that they have liked in the past. In this project, we have implemented Collaborative Filtering (CF). Collaborative filtering has two types: Item-Item CF and User-User CF.
In Item-Item CF, we recommend the items that are most similar to the items liked by the user. Whereas, in User-User CF, we recommend the items liked by the users that are similar to the user we want to make a recommendation for.
Based on the Genre(Content Based) :
Let’s consider Lisa’s favourite genre is Horror and she has watched Annabelle and The Conjuring. So, now Lisa would be getting suggestions IT, Us and Get Out which are of same Genre.
Based on the movies liked (Item - Item Collaborative Filtering):
Let’s say Bhoomi has watched Seven and Shutter Island and she has rated both movies 5 out of 5.
The Movie Database consists :
Seven - 5/5
Shutter Island - 5/5
The Prestige - 5/5
Inception - 5/5
Hitman - 2/5
So, according to the movie recommendation system, it uses Collaborative Filtering to get the movies from the database to get the movies which have a good rating and have been rated by a good number of users and then gives the suggestion to Bhoomi with the movies: The Prestige & Inception.
Based on watch history (User - User Collaborative Filtering):
Let’s consider Bhoomi has watched Avenger’s Infinity War and has given a rating of 5. Now, let’s consider Juliet has watched movies Avenger’s Infinity War and Avenger’s Endgame and has rated both the movies very well (5/5). Now, according to the movie recommendation system, it uses Collaborative Filtering to get the movies from the other movies from different user’s with highest correlation and good rating and gives Bhoomi the suggestion to watch Avenger’s Endgame.
Join us in Phase - 3 to build MovieBuddy that would in-turn help us during this Pandemic. Cheers!
- Alisha Shahane (asshahan)
- Shruti Kangle (sskangle)
- Bhoomi Shah (bshah2)
- Poorva Kulkarni (pnkulkar)
- Rohan Pillai (rspillai)
- Ashish Sadanand Rajpurohit
- Jayesh Chandrashekhar Jakkani
- Katta Rishabh
- Keertikumar Malagund
- Sathwik Kalvakuntla
