Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sarthak-0-sach/movie-recommender-system
A Python-based web application that leverages Natural Language Processing (NLP) to recommend movies based on user preferences, including cast, genres, and production companies. Using the bag-of-words approach, the app compares movie attributes to suggest the best match.
https://github.com/sarthak-0-sach/movie-recommender-system
data-preprocessing interactive-visualizations movie-recommendation-app nlp nltk-library pandas python scikitlearn-machine-learning streamlit
Last synced: 13 days ago
JSON representation
A Python-based web application that leverages Natural Language Processing (NLP) to recommend movies based on user preferences, including cast, genres, and production companies. Using the bag-of-words approach, the app compares movie attributes to suggest the best match.
- Host: GitHub
- URL: https://github.com/sarthak-0-sach/movie-recommender-system
- Owner: SartHak-0-Sach
- License: mit
- Created: 2024-11-28T14:04:16.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-30T07:24:00.000Z (3 months ago)
- Last Synced: 2025-02-01T12:11:39.927Z (13 days ago)
- Topics: data-preprocessing, interactive-visualizations, movie-recommendation-app, nlp, nltk-library, pandas, python, scikitlearn-machine-learning, streamlit
- Language: Python
- Homepage: https://www.linkedin.com/in/sarthak2004/
- Size: 9.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π¬ Movie Recommender System
Unlock Your Next Favorite Film! Our NLP-powered Movie Recommendation Web App delivers tailored suggestions based on cast, genres, and production companies. Explore a seamless Streamlit interface, view movie descriptions, and access a comprehensive list of movies.
## π Table of Contents
1. [π€ Introduction](#-introduction)
2. [βοΈ Tech Stack](#%EF%B8%8F-tech-stack)
3. [π Features](#-features)
4. [π File Structure](#-file-structure)
5. [π€Έ Quick Start](#-quick-start)
6. [πΈ Screenshots](#-screenshots)
7. [π Author](#-author)
8. [π More](#-more)## π€ Introduction
The **Movie Recommender System** is a Python-based web application that leverages Natural Language Processing (NLP) to recommend movies based on user preferences, including cast, genres, and production companies. Using the bag-of-words approach, the app compares movie attributes to suggest the best match. You can also view detailed information about the movies, including descriptions and cast details.## βοΈ Tech Stack
| Technology | Purpose |
|---------------------|---------------------------------------------------|
| **Python** | Backend programming language |
| **Streamlit** | Web framework for creating the interface |
| **Natural Language Processing (NLP)** | Used for processing movie-related data and generating recommendations |
| **Pandas** | Data handling and manipulation |
| **Scikit-learn** | Machine learning algorithms for recommendation |## π Features
- **π₯ Movie Recommendations**: Get movie suggestions based on similarity in genres, cast, production company, and tags.
- **π Movie Description**: View detailed descriptions and information about each movie.
- **π₯ Cast Information**: Learn about the cast involved in the movies.
- **π All Movies List**: Explore a list of all available movies with an option to navigate using a slider or buttons.
- **π± Seamless UI**: Simple, user-friendly interface built with Streamlit for a smooth browsing experience.## π File Structure
Hereβs the updated file structure of the project:```
Movie-Recommender-System/
βββ .idea/ # IDE configuration files
β βββ inspectionProfiles/
β βββ Project_Default.xml
β βββ profiles_settings.xml
β βββ misc.xml
β βββ modules.xml
β βββ vcs.xml
βββ .gitignore # Git ignore file
βββ .gitattributes # Git attributes file
βββ LICENSE # Project license
βββ README.md # Project documentation
βββ Movie_Trial.iml # IntelliJ project file
βββ main.py # Main file to run the Streamlit app
βββ requirements.txt # Python dependencies
βββ tmdb_5000_credits.csv # Credits data for the movies
βββ tmdb_5000_movies.csv # Movies data
βββ processing/ # Data processing scripts
β βββ __init__.py # Initialization for processing module
β βββ display.py # Movie display logic
β βββ preprocess.py # Data preprocessing functions
```## π€Έ Quick Start
### Installation
Follow these steps to set up and run the application locally.1. **Clone the Repository:**
```bash
git clone https://github.com/AnupamMittal-21/Movie-Recommender-System.git
cd Movie-Recommender-System
```2. **Create a Virtual Environment:**
Make sure you have a virtual environment set up for your project:
```bash
python -m venv venv
```3. **Install Dependencies:**
Install the required dependencies using the `requirements.txt` file:
```bash
pip install -r requirements.txt
```4. **Run the Application:**
To start the app, execute the following command in your terminal:
```bash
streamlit run main.py
```**Note**: The first time you run the app, it may take a few moments to initialize and set up necessary files.
## πΈ Screenshots
Here are a few screenshots of the app in action:
**Home Page**
![Sample Image 1](https://github.com/AnupamMittal-21/Movie-Recommender-System/assets/96871662/cce0c494-4dde-4872-868b-2f6f23b24a68)**Movie Description Page**:
![Sample Image 2](https://github.com/AnupamMittal-21/Movie-Recommender-System/assets/96871662/ff4fd4bd-1cf3-4580-9614-67e8698b45e5)**All Movies Page**
![Sample Image 3](https://github.com/AnupamMittal-21/Movie-Recommender-System/assets/96871662/beb53c76-4cd1-466d-b32d-97a63555c043)## π Author
Sarthak Sachdev
- Website - [Sarthak Sachdev](https://itsmesarthak.netlify.app/)
- LinkedIn - [Sarthak Sachdev](https://www.linkedin.com/in/sarthak2004/)
- Twitter - [@sarthak_sach69](https://www.twitter.com/sarthak_sach69)## π More
Feel free to contribute or suggest features to improve the app. Pull requests and feedback are always welcome!