Upload 5 files
Browse files- app.py +39 -0
- movie data_new.xlsx +0 -0
- movie_list.pkl +3 -0
- requirements.txt +22 -0
- similarity.pkl +3 -0
app.py
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import pickle
|
2 |
+
import streamlit as st
|
3 |
+
|
4 |
+
def recommend(movie):
|
5 |
+
index = movies[movies['Title'] == movie].index[0]
|
6 |
+
distances = sorted(list(enumerate(similarity[index])), reverse=True, key=lambda x: x[1])
|
7 |
+
recommended_movie_names = []
|
8 |
+
for i in distances[1:6]:
|
9 |
+
recommended_movie_names.append(movies.iloc[i[0]].Title)
|
10 |
+
|
11 |
+
return recommended_movie_names
|
12 |
+
|
13 |
+
|
14 |
+
page_bg_img = '''
|
15 |
+
<style>
|
16 |
+
|
17 |
+
.stApp {
|
18 |
+
background-image: url("https://payload.cargocollective.com/1/11/367710/13568488/MOVIECLASSICSerikweb_2500_800.jpg");
|
19 |
+
background-size: cover;
|
20 |
+
}
|
21 |
+
</style>
|
22 |
+
'''
|
23 |
+
|
24 |
+
st.markdown(page_bg_img, unsafe_allow_html=True)
|
25 |
+
|
26 |
+
st.markdown('# Movie Recommendation System')
|
27 |
+
movies = pickle.load(open('movie_list.pkl', 'rb'))
|
28 |
+
similarity = pickle.load(open('similarity.pkl', 'rb'))
|
29 |
+
|
30 |
+
movie_list = movies['Title'].values
|
31 |
+
selected_movie = st.selectbox(
|
32 |
+
"Type or select a movie from the dropdown",
|
33 |
+
movie_list
|
34 |
+
)
|
35 |
+
|
36 |
+
if st.button('Show Recommendation'):
|
37 |
+
recommended_movie_names = recommend(selected_movie)
|
38 |
+
for i in recommended_movie_names:
|
39 |
+
st.subheader(i)
|
movie data_new.xlsx
ADDED
Binary file (166 kB). View file
|
|
movie_list.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:47c62c92abe27c1d25c023f63866dd64c133ae136af74cc02ff38398eb92620b
|
3 |
+
size 263858
|
requirements.txt
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Jinja2==2.11.3
|
2 |
+
jinja2-time==0.2.0
|
3 |
+
joblib==1.0.1
|
4 |
+
matplotlib-inline==0.1.2
|
5 |
+
numpy==1.19.1
|
6 |
+
numpydoc==1.1.0
|
7 |
+
pandas==1.1.3
|
8 |
+
pickleshare==0.7.5
|
9 |
+
Pillow==8.3.1
|
10 |
+
pip==21.0.1
|
11 |
+
ptyprocess==0.7.0
|
12 |
+
pyaml==19.4.1
|
13 |
+
PyYAML==5.4.1
|
14 |
+
requests==2.25.1
|
15 |
+
requests-aws4auth==0.9
|
16 |
+
scikit-learn==0.24.2
|
17 |
+
scipy==1.7.1
|
18 |
+
streamlit==0.81.1
|
19 |
+
urllib3==1.26.6
|
20 |
+
xlrd==1.2.0
|
21 |
+
yapf==0.31.0
|
22 |
+
zipp==3.5.0
|
similarity.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:732a6c1ace7f54b0f285ecd222ffa74d4072838e57be6237514cd7045d1b2ebe
|
3 |
+
size 8000160
|