DataMining / app.py
ErickMVdO's picture
initial commit
60a65c8
raw
history blame
No virus
1.39 kB
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()