Spaces:
Build error
Build error
File size: 1,836 Bytes
2f3d54f |
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import pandas as pd
import pickle
import gradio as gr
import sklearn
# Cargar el modelo desde un archivo
with open('sepsis_model_refinado.pkl', 'rb') as archivo:
modelo = pickle.load(archivo)
def predict_sepsis(ritmo_cardiaco, plaquetas, bilirrubina, PAM, GCS, creatinina, pO2):
"""
Esta funci贸n clasifica si un paciente tiene sepsis o no en base a los valores
de sus signos vitales: ritmo card铆aco, GCS y PAS.
Args:
- ritmo_cardiaco (float): Ritmo card铆aco del paciente.
- GCS (float): Escala de Coma de Glasgow (GCS, por sus siglas en ingl茅s) del paciente.
- PAS (float): Presi贸n arterial sist贸lica (PAS) del paciente.
Returns:
- str: Cadena que indica si el paciente tiene sepsis ('S铆') o no ('No').
"""
# Crear un DataFrame con los valores de los signos vitales
data = pd.DataFrame({"ritmo_cardiaco": [ritmo_cardiaco],
"plaquetas":[plaquetas],
"bilirrubina":[bilirrubina],
"PAM":[PAM],
"GCS": [GCS],
"creatinina":[creatinina],
"pO2": [pO2]})
# Hacer la predicci贸n de sepsis
pred = modelo.predict(data)[0]
# Retornar la cadena correspondiente
if pred == 0:
return "Negativo"
else:
return "Positivo"
# Crear la interfaz de Gradio
inputs = [gr.inputs.Number(label="ritmo_cardiaco"),
gr.inputs.Number(label="plaquetas"),
gr.inputs.Number(label="bilirrubina"),
gr.inputs.Number(label="PAM"),
gr.inputs.Number(label="GCS"),
gr.inputs.Number(label="creatinina"),
gr.inputs.Number(label="pO2")]
output = gr.outputs.Textbox(label="Sepsis")
gr.Interface(fn=predict_sepsis, inputs=inputs, outputs=output).launch() |