Lab_07 / app.py
SmallO's picture
Update app.py
0b1f412
# -*- 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 = st.selectbox("AlcoholDrinking", unique_AlcoholDrinking)
Stroke = st.selectbox("Stroke", unique_Stroke)
PhysicalHealth = st.slider("PhysicalHealth", min_value=0, max_value=50)
MentalHealth = st.slider("MentalHealth", min_value=0, max_value=50)
DiffWalking = st.selectbox("DiffWalking", unique_DiffWalking)
Sex = st.selectbox("Sex", unique_Sex)
AgeCategory = st.selectbox("AgeCategory_new", unique_AgeCategory)
Race = st.selectbox("Race", unique_Race)
Diabetic = st.selectbox("Diabetic", unique_Diabetic)
PhysicalActivity = st.selectbox("PhysicalActivity", unique_PhysicalActivity)
GenHealth = st.selectbox("GenHealth", unique_GenHealth)
SleepTime = st.slider("SleepTime", min_value=0, max_value=24)
Asthma = st.selectbox("Asthma", unique_Asthma)
KidneyDisease = st.selectbox("KidneyDisease", unique_KidneyDisease)
SkinCancer = st.selectbox("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": [AgeCategory_new[AgeCategory]],
"Race": [Race],
"Diabetic": [Diabetic],
"PhysicalActivity": [PhysicalActivity],
"GenHealth": [GenHealth],
"SleepTime": [SleepTime],
"Asthma": [Asthma],
"KidneyDisease": [KidneyDisease],
"SkinCancer": [SkinCancer]}))
result = 'You are at risk of developing heart disease.' if result[0] == 1 else 'You are not at risk of heart disease.'
st.success('The predicted HeartDisease is {}'.format(result))
if __name__=='__main__':
main()