Spaces:
Build error
Build error
import gradio as gr | |
import random | |
import pandas as pd | |
opo = pd.read_csv('oportunidades.csv') | |
simulation = pd.read_csv('simulation1.csv') | |
userID = max(simulation['userID']) + 1 | |
opo_n = random.randrange(len(opo)) | |
evaluated = [opo_n] | |
def predict_next(inp): | |
global userID | |
global opo_n | |
global evaluated | |
global opo | |
global simulation | |
simulation = simulation.append({'userID': userID, 'itemID': opo_n, 'rating': inp}, ignore_index=True) | |
evaluated.append(opo_n) | |
from surprise import Reader | |
reader = Reader(rating_scale=(1, 5)) | |
from surprise import Dataset | |
data = Dataset.load_from_df(simulation[['userID', 'itemID', 'rating']], reader) | |
trainset = data.build_full_trainset() | |
from surprise import SVDpp | |
svdpp = SVDpp() | |
svdpp.fit(trainset) | |
items = list() | |
est = list() | |
for i in range(len(opo)): | |
if i not in evaluated: | |
items.append(i) | |
est.append(svdpp.predict(userID, i).est) | |
opo_n = items[est.index(max(est))] | |
return opo.loc[opo_n]['opo_texto'] | |
with gr.Blocks() as demo: | |
gr.Markdown("# MCTI Recommender System") | |
current_opo = gr.Textbox(opo.loc[opo_n]['opo_texto'], label='Oportunidade') | |
nota = gr.Slider(1,5,step=1,label="Nota") | |
confirm = gr.Button("Confirmar") | |
confirm.click(fn=predict_next, | |
inputs=nota, | |
outputs=current_opo) | |
if __name__ == "__main__": | |
demo.launch() |