Upload README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,90 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Movie Recommendation System
|
| 2 |
+
|
| 3 |
+
This project is a movie recommendation system built with Streamlit and powered by a machine learning model. It recommends movies based on a selected title using cosine similarity and displays movie posters fetched from the TMDB API.
|
| 4 |
+
>YouTube tutorial [HERE](https://youtu.be/i-B_I2DGIAI)
|
| 5 |
+
|
| 6 |
+
>Dataset is [HERE](https://www.kaggle.com/datasets/tmdb/tmdb-movie-metadata)
|
| 7 |
+
|
| 8 |
+
>Some files are not available on GitHub due to the large file size. you can get it [HERE](https://huggingface.co/sujoy0011/Movie-Recommendation-System/tree/main)
|
| 9 |
+
|
| 10 |
+
## Table of Contents
|
| 11 |
+
|
| 12 |
+
- [Overview](#overview)
|
| 13 |
+
- [Theory of Recommendation Systems](#theory-of-recommendation-systems)
|
| 14 |
+
- [Installation](#installation)
|
| 15 |
+
- [Usage](#usage)
|
| 16 |
+
- [Dataset](#dataset)
|
| 17 |
+
- [Model](#model)
|
| 18 |
+
- [Results](#results)
|
| 19 |
+
- [Contributing](#contributing)
|
| 20 |
+
- [License](#license)
|
| 21 |
+
|
| 22 |
+
## Overview
|
| 23 |
+
|
| 24 |
+
The movie recommendation system helps users discover movies similar to their favorites. By selecting a movie from the list, users receive a list of top 10 recommended movies along with their posters. This project leverages machine learning techniques to analyze the features of movies and find similarities between them. It uses the TMDB API to fetch and display movie posters, enhancing the user experience by providing visual context for the recommendations. The system is built with Streamlit, providing an interactive and user-friendly interface for users to explore movie recommendations easily.
|
| 25 |
+
|
| 26 |
+
## Theory of Recommendation Systems
|
| 27 |
+
|
| 28 |
+
### What is a Recommendation System?
|
| 29 |
+
|
| 30 |
+
A recommendation system is a subclass of information filtering systems that seek to predict the rating or preference a user would give to an item. They are widely used in various applications like movie recommendations, product recommendations, and content recommendations.
|
| 31 |
+
|
| 32 |
+
### Types of Recommendation Systems
|
| 33 |
+
|
| 34 |
+
1. **Content-Based Filtering**: This method recommends items similar to those a user liked in the past. It relies on the attributes of the items and a profile of the user's preferences.
|
| 35 |
+
|
| 36 |
+
2. **Collaborative Filtering**: This method recommends items based on the preferences of similar users. It doesn't require the attributes of the items and instead focuses on user-item interactions.
|
| 37 |
+
|
| 38 |
+
3. **Hybrid Methods**: These methods combine content-based and collaborative filtering to provide more accurate recommendations.
|
| 39 |
+
|
| 40 |
+

|
| 41 |
+
|
| 42 |
+
### Cosine Similarity
|
| 43 |
+
|
| 44 |
+
In this project, we use cosine similarity to measure the similarity between movie titles. Cosine similarity is a metric used to measure how similar two vectors are. It is calculated as the cosine of the angle between two vectors projected in a multi-dimensional space. For movie recommendation, the vectors represent movie features, and the similarity score indicates how alike two movies are.
|
| 45 |
+
|
| 46 |
+
## Installation
|
| 47 |
+
|
| 48 |
+
1. Clone the repository:
|
| 49 |
+
```bash
|
| 50 |
+
git clone https://github.com/your-username/movie-recommendation-system.git
|
| 51 |
+
cd movie-recommendation-system
|
| 52 |
+
```
|
| 53 |
+
|
| 54 |
+
2. Install the required packages:
|
| 55 |
+
```bash
|
| 56 |
+
pip install -r requirements.txt
|
| 57 |
+
```
|
| 58 |
+
|
| 59 |
+
## Usage
|
| 60 |
+
|
| 61 |
+
1. Run the Streamlit app:
|
| 62 |
+
```bash
|
| 63 |
+
streamlit run app.py
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
2. Open your web browser and go to `http://localhost:8501`.
|
| 67 |
+
|
| 68 |
+
3. Select a movie from the dropdown list and click "Recommend" to get the top 10 recommended movies along with their posters.
|
| 69 |
+
|
| 70 |
+
## Dataset
|
| 71 |
+
|
| 72 |
+
The dataset used for this project contains information about movies, including their titles and IDs. It is processed and stored in `movie_data.pkl`. The dataset is used to calculate the cosine similarity between movies.
|
| 73 |
+
|
| 74 |
+
## Model
|
| 75 |
+
|
| 76 |
+
The model for recommending movies is based on cosine similarity. Cosine similarity is used to measure the similarity between movie titles. The model computes the similarity scores and suggests the top 10 similar movies based on the selected movie title.
|
| 77 |
+
|
| 78 |
+
## Results
|
| 79 |
+
|
| 80 |
+
The system provides the top 10 recommended movies for any selected movie title. It also fetches and displays the posters of these recommended movies using the TMDB API.
|
| 81 |
+
|
| 82 |
+

|
| 83 |
+
|
| 84 |
+
## Contributing
|
| 85 |
+
|
| 86 |
+
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
|
| 87 |
+
|
| 88 |
+
## License
|
| 89 |
+
|
| 90 |
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|