Problem: With the vast amount of movie content available across platforms, users often struggle to find movies that suit their tastes. A recommendation system can help users discover new movies based on their preferences.
Real-World Impact: Recommender systems play a crucial role in enhancing user experience on streaming platforms like Netflix, Amazon Prime, and others. By suggesting movies that align with individual tastes, such systems reduce search time, increase user engagement, and help content providers retain their customers. The proposed solution can be integrated into any movie platform to enhance personalization.
This project uses a content-based filtering approach to recommend movies to users based on similarities in movie features (like genres, overview, or cast).
Data: Movie metadata, including titles, IDs, and other features, is loaded from a pre-saved pickle file.
Similarity Computation: A similarity matrix is created using a pre-computed pairwise cosine similarity between movies based on their features. This matrix helps find movies most similar to the one selected by the user.
API Integration: The TMDB API is used to fetch additional movie data, specifically the poster images of the recommended movies, which are displayed in the Streamlit app.
Frameworks/Tools:
The recommender system provides users with five movie recommendations based on the movie they select. Each recommendation is accompanied by a movie poster fetched using the TMDB API.
Results: The recommendations are displayed in a visually appealing and interactive format using Streamlit, which allows users to easily discover new content. The system shows recommendations instantly, enhancing the user experience.
Potential Impact: Such systems can increase user engagement and satisfaction on movie streaming platforms by helping users discover movies they are likely to enjoy based on their preferences.
The code for the Movie Recommender System is publicly available on GitHub (https://github.com/Abhinav2k4/movie_recommender_system), and the dataset used is a movie metadata file pre-processed and saved in pickle format.
Challenge: One of the main challenges was accurately calculating movie similarity based on multiple features such as genres and overviews. It required optimizing the data to ensure fast lookups.
Lesson Learned: Utilizing efficient data structures and precomputing the similarity matrix significantly reduced the time complexity of generating recommendations, making the app responsive even with a large dataset.
Model Improvement: Future iterations could integrate a hybrid model combining both content-based filtering and collaborative filtering to further enhance recommendations by taking into account user preferences and behaviors.
UI Enhancements: Further improvements can be made to the user interface, such as adding filters for genres, ratings, or release years, allowing users to refine their recommendations.
Scalability: The current model is scalable but could be optimized to handle much larger datasets by implementing more efficient data storage and retrieval mechanisms.
There are no models linked