mudassir032 commited on
Commit
4790583
·
verified ·
1 Parent(s): 5d5108c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -14
app.py CHANGED
@@ -11,7 +11,6 @@ genre_df = movies_df['genres'].str.get_dummies("|")
11
  st.title("Movie Recommendation System")
12
  @st.cache_data
13
  def calculate_similarity_matrix(genre_df):
14
- # Compute the cosine similarity matrix
15
  similarity_matrix = cosine_similarity(genre_df)
16
  return similarity_matrix
17
 
@@ -25,21 +24,20 @@ def vectorize_data(movies):
25
 
26
  def search_movie(title):
27
  vectorized_data,vec = vectorize_data(movies_df)
28
- # Transform the input title to the same TF-IDF space
29
  title_vector = vec.transform([title])
30
 
31
- # Calculate cosine similarity with all titles
32
  similarity_scores = cosine_similarity(title_vector, vectorized_data).flatten()
33
 
34
- # Get the indices of the titles sorted by similarity score
35
  similar_indices = similarity_scores.argsort()[::-1]
36
 
37
- # Get the top similar titles and their scores
38
  results = [(movies_df['title'][i], similarity_scores[i]) for i in similar_indices]
39
 
40
  return results[0][0]
41
 
42
- movie = st.text_input("",key="Search for movie")
 
 
 
43
  if 'random_movies' not in st.session_state:
44
  st.session_state['random_movies'] = movies_df['title'].sample(5)
45
  col1,col2 = st.columns(2)
@@ -59,11 +57,6 @@ if not movie:
59
  st.subheader("Recommended Movies")
60
  for i,j in enumerate(similar_movies[:5]):
61
  st.write(f"\t{i+1}.{j}")
62
- # refresher = st.button("Refresh",key='refresh')
63
- # if refresher:
64
- # st.session_state['random_movies'] = movies_df['title'].sample(5)
65
- # random_movies = st.session_state['random_movies']
66
- # st.rerun()
67
  else:
68
  result = search_movie(movie)
69
  id = movies_df[movies_df['title'] == result].index[0]
@@ -77,9 +70,6 @@ else:
77
  st.subheader("Recommended Movies")
78
  for i,j in enumerate(similar_movies[:5]):
79
  st.write(f"\t{i+1}.{j}")
80
- # refresher1 = st.button("Refresh",key='refresh1')
81
- # if refresher1:
82
- # st.rerun()
83
  if st.button("Refresh", key='refresh'):
84
  st.session_state['random_movies'] = movies_df['title'].sample(5)
85
  movie = " "
 
11
  st.title("Movie Recommendation System")
12
  @st.cache_data
13
  def calculate_similarity_matrix(genre_df):
 
14
  similarity_matrix = cosine_similarity(genre_df)
15
  return similarity_matrix
16
 
 
24
 
25
  def search_movie(title):
26
  vectorized_data,vec = vectorize_data(movies_df)
 
27
  title_vector = vec.transform([title])
28
 
 
29
  similarity_scores = cosine_similarity(title_vector, vectorized_data).flatten()
30
 
 
31
  similar_indices = similarity_scores.argsort()[::-1]
32
 
 
33
  results = [(movies_df['title'][i], similarity_scores[i]) for i in similar_indices]
34
 
35
  return results[0][0]
36
 
37
+ if 'search' not in st.session_state:
38
+ st.session_state['search'] = ""
39
+
40
+ movie = st.text_input("Search",placeholder='Search for movies',key="search")
41
  if 'random_movies' not in st.session_state:
42
  st.session_state['random_movies'] = movies_df['title'].sample(5)
43
  col1,col2 = st.columns(2)
 
57
  st.subheader("Recommended Movies")
58
  for i,j in enumerate(similar_movies[:5]):
59
  st.write(f"\t{i+1}.{j}")
 
 
 
 
 
60
  else:
61
  result = search_movie(movie)
62
  id = movies_df[movies_df['title'] == result].index[0]
 
70
  st.subheader("Recommended Movies")
71
  for i,j in enumerate(similar_movies[:5]):
72
  st.write(f"\t{i+1}.{j}")
 
 
 
73
  if st.button("Refresh", key='refresh'):
74
  st.session_state['random_movies'] = movies_df['title'].sample(5)
75
  movie = " "