Skip to content

An ML-based movie recommendation system built using a dataset from Kaggle. This project preprocesses movie data to generate recommendations based on cosine similarity. The system uses Python libraries such as Pandas, NumPy, NLTK, and sklearn for data processing and machine learning. The user interface is developed with Streamlit.

Notifications You must be signed in to change notification settings

parth-jatav/Movie-Recommendation-Project

Repository files navigation

🎬 Movie Recommendation System

Live Demo: movie-recommendation-all.streamlit.app
Streamlit App

Your go-to tool for finding your next favorite movie!

🚀 Overview

The Movie Recommendation System is a content-based machine learning project that suggests movies similar to a selected movie. Built with Python and Streamlit, this project offers a sleek and interactive web app to explore movie recommendations.

image

🏗️ Project Structure

  • 📊 Data Collection:

    • Datasets: tmdb_5000_movies.csv and tmdb_5000_credits.csv from Kaggle.
    • Data includes genres, keywords, cast, crew, and more!
  • 🛠️ Data Preprocessing:

    • Merged datasets and selected relevant columns.
    • Handled missing values, duplicates, and converted data into usable formats.
    • Created a tags column combining genres, cast, crew, and keywords.
  • 🤖 Model Creation:

    • Used CountVectorizer for vectorizing tags and calculated cosine similarity.
    • Pickle files save the model and data for quick access.
  • 🌐 Website Development:

    • Built with Streamlit to deliver an interactive experience.
    • Displays recommended movies with posters fetched from TMDB API.
  • 🚀 Deployment:

    • The app is deployed and ready for you to explore!

Web App Demo

🛠️ Installation

  1. Clone the repository:
    git clone https://github.com/parth-jatav/movie-recommendation-system.git
  2. Navigate to the project directory:
    cd movie-recommendation-system
  3. Install the required dependencies:
    pip install -r requirements.txt
  4. Run the Streamlit application:
    streamlit run app.py

🎥 Usage

  1. Select a movie from the dropdown menu.
  2. Click the "Get Recommendations" button.
  3. View the recommended movies along with their posters.

📂 Dataset

🎯 Features

  • Content-Based Filtering: Recommends movies based on metadata similarity.
  • Interactive UI: Built with Streamlit for a smooth user experience.
  • Dynamic Posters: Fetches movie posters from the TMDB API.

🛠️ Libraries Used

  • Pandas 🐼
  • NumPy 🔢
  • NLTK 🧠
  • Scikit-learn 📈
  • Streamlit 🌐
  • Requests 🌍
  • Pickle 🥒

🤝 Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you have suggestions or bug reports.

Coding

🙌 Acknowledgments

  • Thanks to TMDB for the movie data.
  • Kudos to Kaggle for hosting the datasets.

Thank You

About

An ML-based movie recommendation system built using a dataset from Kaggle. This project preprocesses movie data to generate recommendations based on cosine similarity. The system uses Python libraries such as Pandas, NumPy, NLTK, and sklearn for data processing and machine learning. The user interface is developed with Streamlit.

Topics

Resources

Stars

Watchers

Forks