Skip to content

manash-jyoti/Movie-Recommender-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎥 Movie Recommendation System

This is a movie recommendation system developed using Python, utilizing a dataset sourced from Kaggle. The dataset contains information on 10,000 movies, including attributes such as genres, keywords, cast, crew, and overviews. A combined column named "tags" was created, aggregating the relevant attributes to form a basis for movie recommendations.

The recommendation system employs a content-based filtering approach using Cosine Similarity. The textual information in the "tags" column is transformed using CountVectorizer, enabling the calculation of similarity scores between movies.

1️⃣ Introduction

A movie recommendation system is a software application or algorithm designed to suggest movies to users based on their preferences and past interactions. Recommendation systems are widely used in various domains, including e-commerce, music streaming, and video-on-demand platforms, to provide personalized recommendations and enhance user experiences.

2️⃣ Recommendation Techniques

There are several techniques commonly used in recommendation systems. Here are a few notable ones:

  1. Content-Based Filtering: This approach recommends items (movies in this case) based on their content or attributes. It analyzes the characteristics or features of items and matches them to the user's preferences. In this project, a content-based filtering technique is employed using Cosine Similarity to measure the similarity between movies based on their textual information.

  2. Collaborative Filtering: Collaborative filtering recommends items based on the preferences and behaviors of similar users or items. It uses historical data, such as user ratings or interactions, to find patterns and make recommendations. Collaborative filtering can be further categorized into user-based or item-based filtering, depending on whether similarities are calculated between users or items.

  3. Hybrid Approaches: Hybrid recommendation systems combine multiple techniques to leverage the strengths of different approaches. By integrating content-based and collaborative filtering, for example, hybrid systems can provide more accurate and diverse recommendations.

3️⃣ Features

  • Allows users to select a movie of their choice
  • Generates a list of the top five recommended movies along with their informations based on similarity

4️⃣ Dataset

The datasets used in this project are obtained from Kaggle and contain 10,000 movies and credits with various attributes. You can find the datasets here.

5️⃣ Setup

To run the movie recommendation system locally, follow these steps:

  1. Clone the repository: git clone https://github.com/manash-jyoti/Movie-Recommender-System.git>

  2. As the size of similarity.pkl > 25 MB, consider running the jupyter notebook to generate the file and put it in the same directory as of app.py

  3. Install the required dependencies: !pip install -r requirements.txt

  4. Run the Streamlit web app: streamlit run app.py

5️⃣ Usage/Examples

  1. Open the web app in your browser.
  2. Select a movie from the provided options or use the search functionality to find a specific movie.
  3. The system will generate a list of the top five recommended movies based on similarity to the selected movie.

6️⃣ Technologies used

  1. Python
  2. Pandas
  3. Scikit-learn
  4. Natural language toolkit
  5. Streamlit

7️⃣ Contributing

Contributions to this project are welcome😊. If you encounter any issues or have suggestions for improvements, please feel free to submit a pull request.

8️⃣ License

License This project is licensed under the MIT License MIT

9️⃣ Demo

Movie recommender system demo 33ff9e3a-a02a-47af-be90-fe03775c161e.webm