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