| import joblib |
| import pandas as pd |
| import streamlit as st |
|
|
| model = joblib.load('rf4.joblib') |
| unique_values = joblib.load('unique_values2.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=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_Pressure], |
| "Heart Rate": [Heart_Rate], |
| "Daily Steps": [Daily_Steps] |
| })) |
| if result[0] == 1: |
| result_message = "None" |
| elif result[0] == 2: |
| result_message = "Insomnia" |
| elif result[0] == 3: |
| result_message = "Sleep Apnea" |
| st.success(result_message) |
|
|
| if __name__=='__main__': |
| main() |
|
|