Spaces:
Runtime error
Runtime error
File size: 1,385 Bytes
60a65c8 |
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 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import torch, numpy as np, pandas as pd
import skimage
import pickle
defaultColumns = ['movieId', 'rating']
movies_df = pd.read_csv("./csv/movies.csv")
ratings_df = pd.read_csv("./csv/ratings.csv")
options = movies_df['title'].values
with open("model.pkl", "rb") as f:
model = pickle.load(f)
def recomendacao(filme, nota):
f_filme = movies_df.loc[movies_df['title'] == filme]['movieId'][0]
f_nota = float(nota)
default = [
f_filme,
f_nota
]
df=pd.DataFrame([default], columns = defaultColumns)
predictions = model.predict(df)
user_rating = ratings_df.loc[ratings_df['userId'] == predictions[0]]
top_ratings = user_rating.sort_values(by='rating', ascending=False)
top_movies = top_ratings.head(5)['movieId'].tolist()
recomendacoes = []
for movie_id in top_movies:
movie = movies_df.loc[movies_df['movieId'] == movie_id]
title = movie['title'].values[0]
recomendacoes.append(title)
recomendacoes
result = recomendacoes
return result
iface = gr.Interface(
fn=recomendacao,
title="Win Predict",
allow_flagging="never",
inputs=[
gr.Dropdown(options, label="Filme", info="Escolha o nome de um filme"),
gr.Slider(0, 5, value=0, label="Rating", info="Dê uma nota entre 0 e 5"),
],
outputs="text")
iface.launch() |