Welcome to the Movie Recommender System! This Streamlit web application suggests movies to users based on their plot descriptions. It utilizes advanced techniques like TF-IDF and cosine similarity to provide accurate recommendations.
link to the website : https://movie-recommendation-system-m.streamlit.app/
This recommendation system assists users in discovering new movies similar to those they have enjoyed. By analyzing the plot descriptions of movies, the system identifies similarities and suggests relevant recommendations.
TF-IDF is a numerical statistic that reflects the importance of a word in a document relative to a collection of documents. In the context of our recommendation system:
- Term Frequency (TF) measures how frequently a term (word) occurs in a movie's plot description.
- Inverse Document Frequency (IDF) measures how important a term is across all movie plot descriptions.
- TF-IDF is the product of TF and IDF, combining the local importance of a term in a movie's plot description with its global importance across all movies.
Cosine similarity calculates the cosine of the angle between two vectors, giving a measure of similarity between them. In our recommendation system:
- We represent each movie's plot description as a TF-IDF vector.
- We calculate the cosine similarity between the TF-IDF vectors of different movies.
- Higher cosine similarity values indicate greater similarity between movies.
The Streamlit app provides an intuitive interface for users to interact with the recommendation system:
- Select Movie: Users can choose a movie from the dropdown menu to view details about that movie.
- Recommended Movies: The app displays five recommended movies based on cosine similarity to the selected movie.
- Interactive Interface: Users can easily navigate through the app's interface and explore movie recommendations.
The recommendation system is built upon a dataset containing information about thousands of movies, including their titles, genres, cast, crew, tags, and plot descriptions. The dataset used in this app can be found here.
- Streamlit: For creating the interactive web application.
- Pandas: For data manipulation and preprocessing.
- NumPy: For numerical computations.
- Pillow (PIL): For loading and displaying movie posters.
- Python: For backend logic and calculations.
To run the app locally, follow these steps:
- Clone this repository:
git clone https://github.com/yourusername/movierecommender.git
- Navigate to the project directory:
cd movierecommender
- Run the Streamlit app:
streamlit run app.py
This project was developed by Pankil Soni. Feel free to reach out with any questions or suggestions.
- gmail - [email protected]
- kaggle - https://www.kaggle.com/pankilsoni
- LinkedIn - https://www.linkedin.com/in/pankil-soni-5a0541170/