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