A content-based Movie Recommendation System built using Machine Learning, NLP, Streamlit, and the TMDB API. The application recommends similar movies based on movie metadata and displays movie posters through TMDB integration.
This project uses a content-based filtering approach to recommend movies similar to a selected movie. Movie features such as genres, keywords, cast, crew, and overview are processed using Natural Language Processing techniques and transformed into numerical vectors. Cosine similarity is then used to identify the most similar movies.
- Content-based movie recommendations
- Interactive Streamlit web interface
- TMDB movie poster integration
- Fast similarity-based search
- Deployed on Hugging Face Spaces
- Python
- Pandas
- NumPy
- Scikit-learn
- NLTK
- Streamlit
- TMDB API
- Pickle
MovieRecommendationSystem/
├── app.py
├── requirements.txt
├── README.md
├── artifacts/
│ ├── movies.pkl
│ └── similarity.pkl
└── notebooks/
├── movies.csv
└── credits.csv
- Load movie and credits datasets
- Perform data preprocessing and feature engineering
- Combine important textual features
- Apply Count Vectorization
- Compute Cosine Similarity Matrix
- Recommend top 5 similar movies
- Fetch movie posters using TMDB API
Dataset → Data Cleaning → Feature Engineering → Vectorization → Cosine Similarity → Recommendation Engine → Streamlit UI
Clone the repository:
git clone
Install dependencies:
pip install -r requirements.txt
Run the application:
streamlit run app.py
Shaan Mathew
Aspiring Data Scientist | Machine Learning Enthusiast
