File size: 1,297 Bytes
49f291d
 
 
cde03c1
 
 
 
 
 
 
 
 
83b3b12
cde03c1
83b3b12
cde03c1
83b3b12
 
cde03c1
 
 
 
 
 
 
 
83b3b12
 
 
49f291d
 
cde03c1
49f291d
 
83b3b12
cde03c1
49f291d
 
 
83b3b12
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import pickle
import streamlit as st

def recommend(movie):
    try:
        index = movies[movies['title'] == movie].index[0]
        distances = sorted(list(enumerate(similarity[index])), reverse=True, key=lambda x: x[1])
        
        recommended_movie_names = []

        for i in distances[1:6]:
            movie_title = movies.iloc[i[0]]['title']
            recommended_movie_names.append(movie_title)
        
        return recommended_movie_names
    except Exception as e:
        st.write(f"Error in recommend function: {e}")
        return []

# Load movies and similarity matrices
try:
    with open('movie_list.pkl', 'rb') as file:
        movies = pickle.load(file)
    with open('similarity.pkl', 'rb') as file:
        similarity = pickle.load(file)
except Exception as e:
    st.write(f"Error loading files: {e}")

st.header('Movie Recommender System')

movie_list = movies['title'].values
selected_movie = st.selectbox("Type or select a movie from the dropdown", movie_list)

if st.button('Show Recommendation'):
    recommended_movie_names = recommend(selected_movie)

    if not recommended_movie_names:
        st.write("No recommendations found.")
    else:
        st.write("Recommended Movies:")
        for name in recommended_movie_names:
            st.text(name)