This repository hosts the code for a Machine Learning-based Movie Recommender System developed using the TMDB dataset. The project aims to provide personalized movie recommendations to users based on their viewing history, preferences, and the intrinsic characteristics of the movies.
The recommender system utilizes collaborative filtering, content-based filtering, and hybrid methods to generate movie recommendations. It leverages the TMDB dataset, which includes movie metadata, user ratings, and social media data, to understand user preferences and predict movies that users are likely to enjoy.
- Collaborative Filtering: Identifies similar users and recommends movies liked by these users.
- Content-Based Filtering: Recommends movies similar to those a user has liked in the past, based on movie metadata like genres, director, and actors.
- Hybrid Recommendation: Combines collaborative and content-based filtering to improve recommendation quality.
- User Interface: Simple and interactive web interface for users to rate movies and receive recommendations.
- Scalability: Designed to efficiently handle large datasets and a growing number of users.
- Python: Primary programming language for data processing and machine learning.
- Pandas & NumPy: For data manipulation and numerical operations.
- Scikit-learn: For implementing machine learning algorithms.
- Surprise: A Python scikit for building and analyzing recommender systems.
- Flask: For creating the web application.
- TMDB API: For fetching real-time movie data and metadata.
- Python 3.6+
- Pip package manager
- Clone the repository to your local machine:
git clone https://github.com/ankitrajsh/movie-recommendation-system
- Navigate to the project directory:
cd movie-recommendation-system - Install the required dependencies:
pip install -r requirements.txt
- Launch the web application:
python app.py
- Access the web interface at
http://localhost:5000. - Rate some movies to set your preferences.
- The system will recommend movies based on your ratings and preferences.
Contributions to improve the project are welcome. Please follow these steps to contribute:
- Fork the project repository.
- Create a new branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a pull request.
Distributed under the MIT License. See LICENSE for more information.
- Project Maintainer: Ankit Sharma
- Email: [email protected]
- LinkedIn: Ankit Sharma
- TMDB for providing the dataset.
- The Python and ML community for excellent resources and libraries.