Team Ai
Apppublic

TheMith/MachineLearning_recomendacion

sourceHugging Faceunknownupdated 4y agoView on Hugging Face
0likes
app.py58 linesDownload Raw Back to root
1import pandas as pd2from surprise import Dataset, Reader, SVD3from surprise.model_selection import train_test_split4 5df_sco = pd.read_csv('./Datasets/score_movies.csv')6 7df_plat = pd.read_csv('./Datasets/plataformas.csv')8 9df_plat = df_plat[['movieId', 'title']]10df_plat = df_plat.reset_index(drop=True)11 12N_filas = 100000 # Limitamos el dataset a N_filas13 14reader = Reader(rating_scale=(1, 5))15 16data = Dataset.load_from_df(df_sco[['userId', 'movieId', 'score']][:N_filas], reader)17 18# Separamos nuestros datos19 20trainset, testset = train_test_split(data, test_size=.25)21 22modelo = SVD()23 24modelo.fit(trainset)25 26 27 28def movie_recommendation(userId, movieId):29    # Obtenemos la predicción de la calificación que el usuario le daría a la película30    prediction = modelo.predict(userId, str(movieId))31 32    # Si la predicción es mayor o igual a 3.5, se recomienda la película33    if prediction.est >= 3.5:34        return "Recomendada", prediction.est35    else:36        return "No recomendada", prediction.est37 38def titulo(movieId):39    return df_plat[df_plat.movieId == movieId].title.iloc[0].title()40 41def title_recommendation(userId, movieId):42    recomendado, puntaje = movie_recommendation(userId, movieId)43    titulo_1 = titulo(movieId)44    return (recomendado, puntaje,titulo_1)45 46import gradio as gr47 48title = str("El tinder de tus peliculas")49 50with gr.Blocks(title=title) as demo:51    nro_usuario = gr.inputs.Number(label='tu numero de usario')52    peli = gr.Textbox(label='numero de pelicula')53    recomendacion = gr.Button('matchea con tu pelicula')54    title = gr.Textbox(label='tu match se llama')55    output = gr.Textbox(label= 'le gustas o no')56    score = gr.Textbox(label='calidad del match')57    recomendacion.click(fn = title_recommendation, inputs=[nro_usuario,peli], outputs=[output, score,title])58demo.launch()