Skip to content

In this machine learning project, we build a recommendation system from the ground up to suggest movies to the user based on his/her preferences.

Notifications You must be signed in to change notification settings

Findcoding/Movie-Recommender-System

Repository files navigation

Movie-Recommender-System

UI.mp4

Create Virtual Environment

  • Download virtual Environment Module
pip install virtualenv
  • Locate base directory and use this command to create virtual environment
virtualenv <environment_name>

Download Kaggle Dataset

  • Download dataset, and then put all .csv files inside Dataset folder

Run Command to install required Python Module

pip install -r requirements.txt

To run App use this command

python manage.py runserver

Project Report

Implementation

  • Simple Recommender: The Simple Recommender offers generalized recommnendations to every user based on movie popularity and (sometimes) genre. The basic idea behind this recommender is that movies that are more popular and more critically acclaimed will have a higher probability of being liked by the average audience. This model does not give personalized recommendations based on the user. The implementation of this model is extremely trivial. All you have to do is sort our movies based on ratings and popularity and display the top movies of our list. As an added step, we can pass in a genre argument to get the top movies of a particular genre. Simple Recommender

  • Content Based Recommender: The recommender we built in the previous section suffers some severe limitations. For one, it gives the same recommendation to everyone, regardless of the user's personal taste. If a person who loves romantic movies (and hates action) were to look at our Top 15 Chart, s/he wouldn't probably like most of the movies. If s/he were to go one step further and look at our charts by genre, s/he wouldn't still be getting the best recommendations.

For instance, consider a person who loves Dilwale Dulhania Le Jayenge, My Name is Khan and Kabhi Khushi Kabhi Gham. One inference we can obtain is that the person loves the actor Shahrukh Khan and the director Karan Johar. Even if s/he were to access the romance chart, s/he wouldn't find these as the top recommendations.

To personalise our recommendations more, we build an engine that computes similarity between movies based on certain metrics and suggests movies that are most similar to a particular movie that a user liked. Since we will be using movie metadata (or content) to build this engine. Content Based Recommender

  • Hybrid Recommender: In this section, We build a simple hybrid recommender that brings together techniques we have implemented in the content based and collaborative filter based engines.

This is how it will work: Input: User ID and the Title of a Movie Output: Similar movies sorted on the basis of expected ratings by that particular user. Hybrid Recommender

Contributors:

About

In this machine learning project, we build a recommendation system from the ground up to suggest movies to the user based on his/her preferences.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published