Hello, I'm back with another exciting project. I'm hoping that this readme will speak for my work and my enthusiasm for these types of projects.
This project is a web-based movie recommendation system that uses a pre-trained model to suggest movies based on user input. The system is built using Flask, a Python web framework, and TMDB API to fetch movie details.
-
Data Preprocessing: The dataset was preprocessed to extract relevant features such as movie title, genre, keywords etc. The data was then cleaned and normalized to ensure consistency and accuracy.
-
Similarity Calculation: The similarity between movies was calculated using the cosine similarity measure, which measures the cosine of the angle between two vectors. The similarity matrix was then sorted to identify the most similar movies.
-
Recommendation Generation: Given a movie, the system identifies the top three most similar movies and returns their titles and other relevant information. The system also includes a fallback recommendation in case the input movie is not found in the dataset.
-
Web Application: The recommendation model is integrated into a Flask web application, which provides a user interface for movie search and recommendation. The application uses the TMDB API to fetch movie details such as posters, banners, and overviews.
The system uses a content-based filtering techniques to recommend movies. Content-based filtering is used to identify similar movies based on their features. By using this technique, the system is able to provide more accurate and personalized movie recommendations to users.
Overall, the movie recommendation system I designed is a simple yet effective tool for discovering new movies based on user preferences and movie features. The system can be further improved by incorporating additional features such as user ratings, social media integration, and real-time data updates.
This project is truly amazing; after grasping the idea of a recommendation system, I was able to prepare for some of the fundamental tasks. Before beginning, I asked myself questions like, "How does the other recommendation system operate?", "How do they recommend movies to users?", "What kinds of recommendation systems are there?" and so on. I also learned a ton of incredible information while working on this project. Even while some things don't work out the way I had hoped, I still learn a lot about how they operate. I'm going to share my mind map with you all here. Maybe you'll enjoy it:)
The dataset used for this project is the TMDB-5000 Dataset, which is downloaded from Kaggle.
Dataset link : - https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata
The recommendation model is integrated into a Flask web application, which provides a user interface for movie search and recommendation.
The system uses the TMDB API to fetch movie information, including posters, banners, and other details. The recommended movies are displayed to the user in a JSON format, which can be easily consumed by a JavaScript frontend.
Working.of.model.mp4
- Python: The primary programming language used for this project.
- Scikit-learn: A machine learning library used for training and evaluating the model.
- Flask: A lightweight web framework used for deploying the model.
- Pandas: A library used for data manipulation and analysis.
- Numpy: A library used for scientific computing in Python
- Pickle: The pickle module in Python allows you to serialize and deserialize Python objects.
- Requests: The requests library simplifies making HTTP requests in Python.
- nltk:The NLTK (Natural Language Toolkit) is a powerful library for natural language processing (NLP).
- ast: The ast (Abstract Syntax Trees) tool for processing trees of the Python abstract syntax grammar.
- HTML: The structure and content of a webpage, using tags to define elements.
- CSS: Styles the appearance of HTML elements, including layout, colors, and fonts.
- Javascript : Adds interactivity and dynamic content to webpages through scripting and programming.
There are several ways to improve and extend this project, including:
- Collecting more data: Collecting more movie data to improve the accuracy and robustness of the model.
- Experimenting with different type of recommendation system: Trying out different machine learning recommendation models such as collaborative filtering.
- Improving the user interface: Improving the user interface of the deployed model to make it more user-friendly and intuitive.
- Imporvments in system: The system can be further improved by incorporating additional features such as user ratings, social media integration, and real-time data updates.