sujoy0011 commited on
Commit
4db4b3b
·
verified ·
1 Parent(s): 3e34419

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +90 -3
README.md CHANGED
@@ -1,3 +1,90 @@
1
- ---
2
- license: mit
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
+ ![The-recommendation-system-types](https://github.com/user-attachments/assets/b08f4f84-9210-4dfb-9734-860b353a3da7)
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
+ ![Screenshot 2024-07-12 103743](https://github.com/user-attachments/assets/fbc357a1-a6e6-472a-892b-95fe96767743)
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.