Spaces:
Sleeping
Sleeping
File size: 3,282 Bytes
a1aed5f 0b5add2 a1aed5f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
---
title: Movie Recommender System
emoji: π
colorFrom: yellow
colorTo: yellow
sdk: streamlit
sdk_version: 1.40.2
app_file: app.py
pinned: false
---
# Movie Recommender System
## Project Overview
This is a content-based movie recommender system built using Python, Pandas, and Streamlit. It uses vectorization techniques to recommend movies based on their features like genres, overview, and cast.
## Features
- Content-based filtering for personalized movie recommendations.
- Interactive web interface built using Streamlit.
- Fetches movie posters dynamically using the IMDb API.
- Deployed on Hugging Face Spaces.
## Dataset
Dataset: [TMDB Movie Metadata](https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata)
Contains metadata for up to 5000 movies, including genres, overview, cast, and crew.
## Technologies Used
- **Python**: For data processing and building the recommendation logic.
- **Pandas**: For dataset manipulation.
- **Streamlit**: For creating the web app.
- **Vectorization**: To compute movie similarities using techniques like TF-IDF.
- **IMDb API**: To fetch movie posters dynamically, enriching the user experience.
## Modules and Their Roles
### **1. Data Loading and Preprocessing**
- This module is responsible for loading the TMDB dataset and preparing it for use.
- Tasks include handling missing values, cleaning data, and extracting relevant features like genres, overview, and cast.
### **2. Vectorization Module**
- Converts text-based features such as movie overviews into numerical vectors using techniques like TF-IDF (Term Frequency-Inverse Document Frequency).
- This module computes similarity scores between movies, which are critical for generating recommendations.
### **3. Recommendation Engine**
- This core module applies content-based filtering logic.
- It uses the similarity scores to identify and recommend movies that are most similar to a user's selected movie.
### **4. Web Interface**
- Built with Streamlit, this module provides an interactive and user-friendly interface.
- Users can search for a movie, view its details, and get personalized recommendations instantly.
- Fetches movie posters using the IMDb API, making recommendations visually engaging.
## Deployment
The project is deployed on Hugging Face Spaces. You can explore it here:
[Movie Recommender System](https://huggingface.co/spaces/divyesh01/movie_recommender_system)
Like this Hugging Face space? Feel free to try it out and share your feedback!
## Future Enhancements
- Add collaborative filtering to incorporate user behavior into recommendations.
- Use additional APIs like TMDB for real-time movie metadata updates.
- Improve scalability to handle larger datasets.
## API Reference
This project integrates the **IMDb API** from RapidAPI to fetch movie posters dynamically. For more details on the API, check out the [IMDb API documentation](https://rapidapi.com/apidojo/api/imdb8/).
## Acknowledgments
- [TMDB Movie Metadata Dataset](https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata)
- [IMDb API](https://rapidapi.com/apidojo/api/imdb8/)
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|