File size: 3,964 Bytes
ddc7064
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# -*- coding: utf-8 -*-
"""app.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1NiGtTsWgQO-_sqya-2Qexup3M8BcmfYI
"""

import joblib
import pandas as pd
import streamlit as st

AgeCategory_new = {'18-24':1,
                   '25-29':2,
                   '30-34':3,
                   '35-39':4,
                   '40-44':5,
                   '45-49':6,
                   '50-54':7,
                   '55-59':8,
                   '60-64':9,
                   '65-69':10,
                   '70-74':11,
                   '75-79':12,
                   '80 or older':13}

model = joblib.load('model.joblib')
unique_values = joblib.load('unique_values.joblib')

unique_Smoking =  unique_values["Smoking"]
unique_AlcoholDrinking =  unique_values["AlcoholDrinking"]
unique_Stroke =  unique_values["Stroke"]
unique_DiffWalking =  unique_values["DiffWalking"]
unique_Sex =  unique_values["Sex"]
unique_race = unique_values["race"]
unique_Diabetic =  unique_values["Diabetic"]
unique_PhysicalActivity =  unique_values["PhysicalActivity"]
unique_GenHealth =  unique_values["GenHealth"]
unique_Asthma =  unique_values["Asthma"]
unique_KidneyDisease =  unique_values["KidneyDisease"]
unique_SkinCancer =  unique_values["SkinCancer"]
unique_AgeCategory =  unique_values["AgeCategory"]

def main():
    st.title("Personal Key Indicators of Heart Disease")

    with st.form("questionaire"):
        BMI = st.slider("BMI", min_value=10, max_value=100)
        Smoking = st.selectbox("Smoking", unique_Smoking)
        AlcoholDrinking = ("AlcoholDrinking", unique_AlcoholDrinking)
        Stroke = ("Stroke", unique_Stroke)
        PhysicalHealth = st.slider("PhysicalHealth", min_value=0, max_value=50)
        MentalHealth = st.slider("MentalHealth", min_value=0, max_value=50)
        DiffWalking = ("DiffWalking", unique_DiffWalking)
        Sex = ("Sex", unique_Sex)
        AgeCategory = ("AgeCategory_new", unique_AgeCategory)
        Race = ("Race", unique_Race)
        Diabetic = ("Diabetic", unique_Diabetic)
        PhysicalActivity = ("PhysicalActivity", unique_PhysicalActivity)
        GenHealth = ("GenHealth", unique_GenHealth)
        SleepTime = st.slider("SleepTime", min_value=0, max_value=24)
        Asthma = ("Asthma", unique_Asthma)
        KidneyDisease = ("KidneyDisease", unique_KidneyDisease)
        SkinCancer = ("SkinCancer", unique_SkinCancer)

        clicked = st.form_submit_button("Predict HeartDisease")
        if clicked:
            result=model.predict(pd.DataFrame({"BMI": [BMI],
                                               "Smoking": [Smoking],
                                               "AlcoholDrinking": [AlcoholDrinking],
                                               "Stroke": [Stroke],
                                               "PhysicalHealth": [PhysicalHealth],
                                               "MentalHealth": [MentalHealth],
                                               "DiffWalking": [DiffWalking],
                                               "sex": [sex],
                                               "AgeCategory_new": [AgeCategory_new[AgeCategory]],
                                               "race": [race],
                                               "Diabetic": [Diabetic],
                                               "PhysicalActivity": [PhysicalActivity],
                                               "GenHealth": [GenHealth],
                                               "SleepTime": [SleepTime],
                                               "Asthma": [Asthma],
                                               "KidneyDisease": [KidneyDisease],
                                               "SkinCancer": [SkinCancer]}))
            result = 'Yes' if result[0] == 1 else 'No'
            st.success('The predicted HeartDisease is {}'.format(result))

if __name__=='__main__':
    main()