File size: 2,442 Bytes
e39466e
 
 
 
6aa6e80
c1ad169
e39466e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import joblib
import pandas as pd
import streamlit as st 

model = joblib.load('rf.joblib')
unique_values = joblib.load('unique_values1.joblib')
unique_sex =  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_sex)
        age = st.slider("Age", min_value=1, max_value=100)
        occupation = st.selectbox("Occupation", unique_occupation)
        Sleep_Duration = st.slider("Sleep Duration", min_value=0, max_value=24)
        Quality_of_Sleep = st.slider("Quality of Sleep", min_value=1, max_value=10)
        Physical_Activity_Level = st.slider("Quality of Sleep", min_value=0, max_value=1440)
        BMI_Category = st.selectbox("ฺBMI Category", unique_ฺBMI)
        Blood_Pressure = st.selectbox("Blood Pressure", unique_Blood)
        Heart_Rate = st.slider("Heart Rate", min_value=60, max_value=100)
        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({"age": [age],
                                               "Gender": [Gender],
                                               "Occupation": [occupation],
                                               "Sleep Duration (hours)": [Sleep_Duration],
                                               "Quality of Sleep (scale: 1-10)": [Quality_of_Sleep],
                                               "Physical Activity Level (minutes/day)": [Physical_Activity_Level],
                                               "BMI Category": [BMI_Category],
                                               "Blood Pressure (systolic/diastolic)": [Blood_Pressure],
                                               "Heart Rate (bpm)": [Heart_Rate],
                                               "Daily Steps": [Daily_Steps]
                                               }))
            if result[0] == 0:
                result_message = "No Sleep Disorder"
            elif result[0] == 1:
                result_message = "Insomnia"
            elif result[0] == 2:
                result_message = "Sleep Apnea"
            st.success(result_message)

if __name__=='__main__':
    main()