Welcome to the TMDB Movie Recommender System! This project is designed to provide personalized movie recommendations based on a user's selected movie. Using data from TMDB (The Movie Database), it suggests similar movies and displays their posters. π
This recommender system leverages cosine similarity to find movies similar to the one selected by the user. It uses the movie dataset from TMDB and the movie poster images are fetched via the TMDB API. The user interface is built using Streamlit.
- Select a movie: Pick a movie from the dropdown list.
- Get recommendations: The system will show you 5 movies similar to your selected movie, with their posters displayed.
- Simple & User-friendly: Easy-to-use interface powered by Streamlit.
- Dataset: A preprocessed dataset (
movie_dict.pkl) containing movie information (titles, movie IDs) is loaded. - Similarity Matrix: The similarity matrix (
similarity.pkl) computes the cosine similarity between movies. - API Integration: The system fetches movie posters using the TMDB API.
- Recommendation: Based on your selected movie, the system suggests 5 similar movies and displays their posters.
- Python π
- Pandas for data handling
- Pickle for loading preprocessed data
- Streamlit for the web app interface
- TMDB API for fetching movie posters
-
Clone the repository:
git clone <repository_url>
-
Install dependencies:
pip install -r requirements.txt
-
Run the Streamlit app:
streamlit run app.py
-
Enjoy the movie recommendations! πΏ
The movie posters are fetched using the TMDB API. You need an API key from TMDB. Replace the API key in the code with your own to fetch posters:
Authorization: "Bearer YOUR_TMDB_API_KEY"app.py: Contains the main application logic using Streamlit.movie_dict.pkl: Preprocessed movie data.similarity.pkl: Precomputed similarity matrix for recommending movies.requirements.txt: Dependencies required to run the project.
- Add more features like genre filtering or search functionality.
- Include ratings or reviews in recommendations.
- Improve the model with more advanced machine learning techniques.
If you have any questions or suggestions, feel free to reach out!

