Prueba2 / app.py
GaboDataScientist's picture
Create app.py
c669cb8
import gradio as gr
from joblib import load
import pandas as pd
y_values = ['L', 'W']
y=pd.Series(y_values)
y=y.astype('category')
model=load('./model_SVM.joblib')
#aquí indicamos cuál es el valor de las clases
label_encoding=load('./label_classes.joblib') # aquí traemos el orden de clasificación de las categoría
idx_labels=label_encoding.transform(y.cat.categories) # reordeno mis categorías con esos índices
class_names=y.cat.categories[idx_labels] # aquí damos los valores de las categorías en el orden que teníamos guardados
def run_my_model(tabla): #aquí ponemos que es solo una entrada pero es UNA TABLA la entrada
# Proceso a realizar (modelo ML)
X_new=tabla
y_predict=model.predict(X_new)[0] # para que me quiten los corchetes del resultado debemos agregar el elemento 0
return "El resultado es: " + class_names[y_predict] # aquí indexamos el resultado del número de clase para que me arroje cuál es la categoría
gui= gr.Interface(
fn=run_my_model,
inputs=gr.Dataframe(
headers=['HOME/AWAY','WINS_DIFFERENTIAL','WINNING PERCENTAGE DIFFERENTIAL','AWAY WINS DIFFERENTIAL','WINS IN LAST 10 GAMES','WINS IN LAST 5 GAMES','BACK-TO-BACK'], # que me de todas excepto la última
datatype=['str','number','number','number','number','number','str'], #lo tengo que poner tal cual lo quiero poner, la última que se llama obesidad no cuenta para nosotros
#default=[X.iloc[0,:].tolist()],# esto es para que aparezca prerellenados los campos de entrada
row_count=1, # aquí asignamos el # de renglones que pondremos en la tabla
col_count=7), # aquí asignamos el # de columnas que pondremos en la tabla
#aquí le hago para meter como inputs una tabla
outputs="text",
live=True, #significa que podemos producir el resultado de salida al tiempo que doy una entrada
title='Nombre de servicio web'
)
gui.launch()