p2three / app.py
chayanee's picture
Upload 4 files
248a789
import joblib
import pandas as pd
import streamlit as st
Blood_DICT = {'126/83':1,
'125/80': 2,
'140/90': 3,
'120/80': 4,
'132/87': 5,
'130/86': 6,
'117/76': 7,
'118/76': 8,
'128/85': 9,
'131/86': 10,
'128/84': 11,
'115/75': 12,
'135/88': 13,
'129/84': 14,
'130/85': 15,
'115/78': 16,
'119/77': 17,
'121/79': 18,
'125/82': 19,
'135/90': 20,
'122/80': 21,
'142/92': 22,
'140/95': 23,
'139/91': 24,
'118/75': 25,
}
model = joblib.load('rf_n1.joblib')
unique_values = joblib.load('unique_values_n1.joblib')
unique_Gender = unique_values["Gender"]
unique_occupation = unique_values["Occupation"]
unique_ฺBMI = unique_values["BMI Category"]
unique_Blood = unique_values["Blood Pressure"]
def main():
st.title("Sleeping Health")
with st.form("questionaire"):
Gender = st.selectbox("Gender", unique_Gender)
age = st.slider("Age", min_value=27, max_value=59)
occupation = st.selectbox("Occupation", unique_occupation)
Sleep_Duration = st.slider("Sleep Duration", min_value=5.8, max_value=8.5)
Quality_of_Sleep = st.slider("Quality of Sleep", min_value=1, max_value=10)
Physical_Activity_Level = st.slider("Physical Activity Level", min_value=30, max_value=90)
Stress_Level= st.slider("Stress Level", min_value=1, max_value=10)
BMI_Category = st.selectbox("RMI Category", unique_ฺBMI)
Blood_Pressure = st.selectbox("Blood Pressure", unique_Blood)
Heart_Rate = st.slider("Heart Rate", min_value=65, max_value=86)
Daily_Steps = st.slider("Daily Steps", min_value=3000, max_value=10000)
clicked = st.form_submit_button("Predict Sleep Health")
if clicked:
result=model.predict(pd.DataFrame({"Gender": [Gender],
"Age": [age],
"Occupation": [occupation],
"Sleep Duration": [Sleep_Duration],
"Quality of Sleep": [Quality_of_Sleep],
"Physical Activity Level": [Physical_Activity_Level],
"Stress Level":[Stress_Level],
"BMI Category": [BMI_Category],
"Blood Pressure": [Blood_DICT[Blood_Pressure]],
"Heart Rate": [Heart_Rate],
"Daily Steps": [Daily_Steps]
}))
if result[0] == 1:
result_message = "None"
elif result[0] == 2:
result_message = "Sleep Apnea"
elif result[0] == 3:
result_message = "Insomnia"
st.success(result_message)
if __name__=='__main__':
main()