File size: 1,905 Bytes
c669cb8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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()