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()