GaboDataScientist commited on
Commit
ccbae8f
·
1 Parent(s): 149ac47

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from joblib import load
3
+ import pandas as pd
4
+
5
+ y_values = ['L', 'W']
6
+ y=pd.Series(y_values)
7
+ y=y.astype('category')
8
+
9
+ model=load('./model_SVM.joblib')
10
+ #aquí indicamos cuál es el valor de las clases
11
+ label_encoding=load('./label_classes.joblib') # aquí traemos el orden de clasificación de las categoría
12
+ idx_labels=label_encoding.transform(y.cat.categories) # reordeno mis categorías con esos índices
13
+ class_names=y.cat.categories[idx_labels] # aquí damos los valores de las categorías en el orden que teníamos guardados
14
+ def run_my_model(tabla): #aquí ponemos que es solo una entrada pero es UNA TABLA la entrada
15
+ # Proceso a realizar (modelo ML)
16
+ X_new=tabla
17
+ y_predict=model.predict(X_new)[0] # para que me quiten los corchetes del resultado debemos agregar el elemento 0
18
+ 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
19
+
20
+ gui= gr.Interface(
21
+ fn=run_my_model,
22
+ inputs=gr.Dataframe(
23
+ 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
24
+ 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
25
+ #default=[X.iloc[0,:].tolist()],# esto es para que aparezca prerellenados los campos de entrada
26
+ row_count=1, # aquí asignamos el # de renglones que pondremos en la tabla
27
+ col_count=7), # aquí asignamos el # de columnas que pondremos en la tabla
28
+ #aquí le hago para meter como inputs una tabla
29
+ outputs="text",
30
+ live=True, #significa que podemos producir el resultado de salida al tiempo que doy una entrada
31
+ title='Nombre de servicio web'
32
+ )
33
+
34
+ gui.launch()