Spaces:
Sleeping
Sleeping
import pickle | |
import pandas as pd | |
import math | |
import gradio as gr | |
#from sklearn.ensemble import RandomForestRegressor | |
import pandas as pd | |
#C:\Users\prebe\OneDrive\Projects\Doc_Summarizer\web\Gradio Apps\hospitalStay\model\hospitalStay.pkl | |
with open('hospitalStay.pkl', 'rb') as f: | |
model = pickle.load(f) | |
default_values = { | |
'rcount': 0.0, | |
'gender': 0.0, | |
'dialysisrenalendstage': False, | |
'asthma': False, | |
'irondef': False, | |
'pneum': False, | |
'substancedependence': False, | |
'psychologicaldisordermajor': False, | |
'depress': False, | |
'psychother': False, | |
'fibrosisandother': False, | |
'malnutrition': False, | |
'hemo': 0.0, | |
'hematocrit': 11.9, | |
'neutrophils': 9.4, | |
'sodium': 135.885126, | |
'glucose': 23.765383, | |
'bloodureanitro': 12.0, | |
'creatinine': 0.268453, | |
'bmi': 29.798116, | |
'pulse': 74.0, | |
'respiration': 6.5, | |
'secondarydiagnosisnonicd9': 1.0, | |
'facid': 4.0 | |
} | |
def predict_length_of_stay(rcount, gender, asthma, hematocrit, bmi): | |
# Konverterer input verdier fra Gradio input | |
if rcount < 0 or rcount > 5: | |
return "Ugylding verdig for Antall innleggelser. Bruk et tall mellom 0 og 5" | |
gender = 1.0 if gender == "Male" else 0.0 | |
input_values = default_values.copy() | |
input_values.update({ | |
'rcount': rcount, | |
'gender': gender, | |
'asthma': asthma, | |
'hematocrit': hematocrit, | |
'bmi': bmi | |
}) | |
df = pd.DataFrame([input_values]) | |
prediction = model.predict(df) | |
rounded_prediction = math.ceil(prediction[0]) | |
return rounded_prediction | |
iface = gr.Interface( | |
fn=predict_length_of_stay, | |
title="Beregn lengden på et sykehusopphold til en pasient.", | |
description="Modellen tar inn 25 variabler for å predikere lengden på sykehusoppholdet, men jeg har begreset denne demoen til å bare inneholde 5 input verdier.", | |
inputs=[ | |
gr.components.Number(label="Antall innleggelser de siste 180 dager", default=0.0), | |
gr.components.Dropdown(choices=["Male", "Female"], label="Gender", default="Male"), | |
gr.components.Checkbox(label="Asthma", default=False), | |
gr.components.Number(label="Hematocrit", default=11.9), | |
gr.components.Number(label="BMI", default=29.798116), | |
], | |
allow_flagging="never", | |
outputs=gr.components.Textbox(label="Predicted Length of Stay (days)") | |
) | |
iface.launch() |