kartavya17 commited on
Commit
5b94d18
1 Parent(s): 9e29576

Upload 10 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tmdb_5000_credits.csv filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ venv
MOVIE-RECOMMNDER-SYSTEM.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: sh setup.sh && streamlit run app.py
main.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+ import pickle
4
+ import requests
5
+
6
+ def fetch_image(movie_id):
7
+ response = requests.get('https://api.themoviedb.org/3/movie/{}?api_key=8265bd1679663a7ea12ac168da84d2e8&language=en-US'.format(movie_id))
8
+
9
+ data = response.json()
10
+
11
+ return "https://image.tmdb.org/t/p/w500/" + data['poster_path']
12
+
13
+ def recommand(movie):
14
+ movie_index = movies[movies['title'] == movie].index[0]
15
+ distences = similarity[movie_index]
16
+ movies_list = sorted(list(enumerate(distences)),reverse=True,key = lambda x : x[1])[1:6]
17
+
18
+ recommanded_movie = []
19
+ recommaned_poster=[]
20
+ for i in movies_list:
21
+ movie_id = movies.iloc[i[0]].movie_id
22
+
23
+ recommanded_movie.append(movies.iloc[i[0]].title)
24
+ recommaned_poster.append(fetch_image(movie_id)) # Fetch poster from API
25
+ return recommanded_movie,recommaned_poster
26
+
27
+ movies_dict = pickle.load(open('movie_dict.pkl','rb'))
28
+ movies = pd.DataFrame(movies_dict)
29
+
30
+ similarity = pickle.load(open('similarity.pkl','rb'))
31
+
32
+ st.title('Movie Recommender System')
33
+
34
+ selected_movie = st.selectbox(
35
+ 'What is your taste in movie ? ',
36
+ movies['title'].values)
37
+ st.write('You selected:', selected_movie)
38
+
39
+
40
+ if st.button('Recommend movie'):
41
+ name,poster =recommand(selected_movie)
42
+
43
+ col1, col2, col3, col4, col5 = st.columns(5)
44
+ with col1:
45
+ st.text(name[0])
46
+ st.image(poster[0])
47
+ with col2:
48
+ st.text(name[1])
49
+ st.image(poster[1])
50
+ with col3:
51
+ st.text(name[2])
52
+ st.image(poster[2])
53
+ with col4:
54
+ st.text(name[3])
55
+ st.image(poster[3])
56
+ with col5:
57
+ st.text(name[4])
58
+ st.image(poster[4])
movie_dict.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14df69a1d4c566857cdca3fc533ce3bd2f9867c13517964b7b4fb64a5fe39e1c
3
+ size 2216684
requirements.txt ADDED
Binary file (1.63 kB). View file
 
setup.sh ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ mkdir -p ~/.streamlit/
2
+
3
+ echo "\
4
+ [server]\n\
5
+ port = $PORT\n\
6
+ enableCORS = false\n\
7
+ headless = true\n\
8
+ \n\
9
+ " > ~/.streamlit/confit.toml
similarity.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3cdddefcba2492c64942a441915bc409e2449bbea1787f60d58535c47732973
3
+ size 184781251
tmdb_5000_credits.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d0050599ff88d40366c4841204b1489862bca346bfa46c20b05a65d14508435
3
+ size 40044293
tmdb_5000_movies.csv ADDED
The diff for this file is too large to render. See raw diff