A content-based Movie Recommendation System built using Python, Streamlit, and scikit-learn.
It recommends movies similar to the one selected by the user based on movie genres, keywords, cast, and crew.
🌐 Live App: Movie Recommendation System on Streamlit
📊 Dataset: TMDB Movie Metadata (Kaggle)
- Uses TF-IDF Vectorization and Cosine Similarity for movie similarity.
- Recommends top 10 most similar movies to the selected title.
- Dynamically displays movie posters from the TMDB API.
- Simple, clean, and interactive Streamlit web interface.
- The dataset (
tmdb_5000_movies.csvandtmdb_5000_credits.csv) is loaded and merged inMRS.ipynb. - Extracts relevant features like genres, keywords, cast, and crew.
- Combines them into a single text field called
tags. - Applies TF-IDF Vectorization to convert text into numerical vectors.
- Calculates Cosine Similarity to find related movies.
- Saves the processed data into a pickle file (
movie_data.pkl). - The Streamlit app (
app.py) uses this file to recommend and display movie posters.
| Category | Tools |
|---|---|
| Programming Language | Python |
| Libraries | pandas, numpy, scikit-learn, streamlit, requests |
| Machine Learning | Cosine Similarity, CountVectorizer |
| Data Source | TMDB Movie Metadata (Kaggle) |
| Deployment | Streamlit Cloud |
| Environment | Jupyter Notebook, VS Code |
- MRS.ipynb # Data preprocessing and feature extraction
- app.py # Streamlit web app
- movie_data.pkl # Preprocessed movie dataset
- requirements.txt # Dependencies
- tmdb_5000_movies.csv # Movies dataset
- tmdb_5000_credits.csv # Credits dataset
- README.md # Project documentation