Coder Social home page Coder Social logo

vn33 / movie-recommendation-system Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.56 MB

A versatile Movie Recommendation System employing Collaborative, Popularity, Content-Based, and Hybrid Filtering. It enhances user engagement on streaming platforms with personalized movie suggestions. Includes a comprehensive report on recommendation techniques.

Jupyter Notebook 100.00%

movie-recommendation-system's Introduction

Movie Recommendation System

Movie Recommendation System

This project is a movie recommendation system that utilizes various filtering techniques to provide personalized movie recommendations to users. The system plays a crucial role in enhancing user experience and engagement on movie streaming platforms by helping users discover new movies tailored to their preferences.

About the Filtering Techniques

Collaborative Filtering

Collaborative Filtering identifies patterns in user behavior and recommends movies based on the preferences of users with similar tastes. For this, we utilize the Surprise library, a Python scikit for building and analyzing recommender systems. The specific modules used for collaborative filtering are:

  • Dataset from Surprise: A module to load a dataset.
  • Reader from Surprise: A module to define the format of the input file.
  • SVD (Singular Value Decomposition) from Surprise: A collaborative filtering algorithm based on matrix factorization.
  • model_selection from Surprise: A module providing tools for model selection and evaluation.

Popularity-Based Filtering

Popularity-based filtering recommends movies based on their popularity among users. The formula used to calculate popularity-weighted ratings (WR) is: WR = (v / (v + m)) * R + (m / (v + m)) * C Where:

  • v is the number of votes for a movie,
  • m is the minimum number of votes required,
  • R is the average rating of the movie, and
  • C is the average rating across all movies.

Content-Based Filtering

Content-based filtering recommends movies based on their features and similarities. We use a similarity matrix to get a list of similar movies based on the cosine similarity between movie vectors.

Hybrid-Based Filtering

Hybrid-based filtering combines content-based and collaborative filtering techniques. It leverages a combination of content-based filtering, which analyzes item features, and collaborative filtering, which analyzes user behavior, to provide more accurate and diverse recommendations.

Additional Techniques Used

Data Wrangling

Data wrangling involves preprocessing and transforming raw data into a usable format for analysis and modeling. We employed data wrangling techniques to clean and prepare the movie dataset for recommendation system training.

Data Modeling

Data modeling refers to the process of creating and refining models to analyze and interpret data. We utilized data modeling techniques to develop and optimize recommendation algorithms, ensuring robust performance.

Model Evaluation

Model evaluation entails assessing the performance and effectiveness of predictive models. We conducted rigorous model evaluation using metrics such as RMSE, and Mean Absolute Error (MAE) to gauge recommendation quality.

Dataset

The dataset used for training and testing the recommendation system can be found at the following link: Dataset Link

Project Report

For a detailed report on the "Recommendation Filtering Techniques", please refer to the report available here.

movie-recommendation-system's People

Contributors

vn33 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.