high77 commited on
Commit
7b1f065
·
verified ·
1 Parent(s): bb72a2d

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import streamlit as st
3
+ import pandas as pd
4
+ import joblib
5
+ import numpy as np
6
+
7
+ model = joblib.load("model/xgb_model.joblib")
8
+ scaler = joblib.load("model/scaler.joblib")
9
+
10
+ st.title("Hemoglobin Level Predictor")
11
+
12
+ st.markdown(
13
+ '''
14
+ ### Developed by Dr. Vinod Kumar Yata's research group
15
+ School of Allied and Healthcare Sciences, Malla Reddy University, Hyderabad, India
16
+
17
+ ---
18
+ ⚠️ **Warning**:
19
+ This is an experimental tool and should not be used for medical diagnosis.
20
+ Always consult a licensed healthcare provider for medical advice.
21
+ ---
22
+ ''',
23
+ unsafe_allow_html=True
24
+ )
25
+
26
+ age = st.number_input("Age", min_value=0, max_value=120, value=30)
27
+ gender = st.selectbox("Gender", options=["Male", "Female"])
28
+ o2_saturation = st.slider("O2 Saturation (%)", min_value=50.0, max_value=100.0, value=98.0)
29
+ bp_systolic = st.number_input("Systolic BP", min_value=50, max_value=200, value=120)
30
+ bp_diastolic = st.number_input("Diastolic BP", min_value=30, max_value=130, value=80)
31
+ respiratory_rate = st.number_input("Respiratory Rate (breaths/min)", min_value=5, max_value=60, value=18)
32
+
33
+ gender_num = 1 if gender == "Male" else 0
34
+
35
+ input_df = pd.DataFrame([{
36
+ "Age": age,
37
+ "Gender": gender_num,
38
+ "O2_Saturation": o2_saturation,
39
+ "BP_Systolic": bp_systolic,
40
+ "BP_Diastolic": bp_diastolic,
41
+ "Respiratory_Rate": respiratory_rate
42
+ }])
43
+
44
+ if st.button("Predict Hemoglobin Level"):
45
+ input_scaled = scaler.transform(input_df)
46
+ prediction = model.predict(input_scaled)[0]
47
+ st.success(f"Predicted Hemoglobin Level: {prediction:.2f} g/dL")