Skip to content

ku-sh-24/Movies-Recommender-System

Repository files navigation

Movie Recommender System

This project is an end-to-end implementation of a movie recommender system, from building the machine learning model to deploying it as a website. The recommender system is based on content-based filtering, using features such as movie genres, keywords, directors, actors, and actresses to recommend similar movies to users.

Theory

What is a Recommender System?

A recommender system is a technology that provides personalized recommendations to users for items they may be interested in, such as movies, products, or articles.

Why do we need it?

Recommender systems help users discover new items of interest based on their past preferences and behavior, enhancing user experience and engagement on platforms.

Types of Recommender Systems

  • Content-based: Recommends items similar to those the user has liked in the past, based on item attributes (e.g., movie genres, keywords).
  • Collaborative Filtering: Recommends items based on the preferences of similar users or items.

This project focuses on a content-based recommender system.

Project Flow

  1. Data Collection and Preprocessing: Utilizes the TMDB 5000 movie dataset, which consists of two datasets - one containing movie data and the other containing credits. Preprocessing involves feature selection, merging datasets, handling null values and duplicates, and transforming columns for better text analysis.
  2. Model Building: Builds a content-based recommender model using vectorization techniques such as bag of words and cosine similarity. Text data is converted into numerical vectors to calculate similarity between movies.
  3. Website Conversion: Converts the model into a website using Streamlit. The model is deployed on the website to provide movie recommendations to users.
  4. API Integration: Integrates with TMDB API to retrieve movie posters for display on the website. Users can interact with the recommender system by entering a movie title, and the system will recommend similar movies based on the entered title.

Libraries Used

  • Numpy
  • Pandas
  • Scikit-learn
  • NLTK
  • Streamlit
  • Pickle
  • Requests

Challenges and Solutions

  • Data Transformation: Ensured consistent formatting of text data to improve model performance and accuracy.
  • Vectorization: Utilized techniques such as bag of words and cosine similarity for text vectorization to calculate movie similarity.
  • Website Deployment: Deployed the model as a user-friendly website using Streamlit, overcoming challenges related to data transfer and integration with external APIs.

Conclusion

This project demonstrates the end-to-end implementation of a content-based movie recommender system, from data preprocessing and model building to website deployment. By leveraging machine learning techniques and web development tools, users can receive personalized movie recommendations based on their preferences and interests. Additionally, API integration enhances the user experience by providing movie posters and enriching the recommendation interface.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages