import joblib import pandas as pd import streamlit as st slope_DICT = {'normal':0, 'fixed defect':1, 'reversable defect':2 } model = joblib.load('model.joblib') unique_values = joblib.load('unique_values.joblib') unique_sex = unique_values["sex"] unique_slope = unique_values["slope"] unique_fbs = unique_values["fbs"] unique_exang = unique_values["exang"] def main(): st.title("Heart Disease Analysis") with st.form("questionaire"): sex = st.selectbox("Sex", unique_sex) age = st.slider("Age", min_value=10, max_value=100) cp = st.slider("cp", min_value=0, max_value=3) trestbps = st.slider("trestbps", min_value=90, max_value=200) chol = st.slider("chol", min_value=120, max_value=570) fbs = st.selectbox("fbs", unique_fbs) restecg = st.slider("restecg", min_value=0, max_value=2) thalach = st.slider("thalach", min_value=70, max_value=210) exang = st.selectbox("exang",unique_exang ) oldpeak = st.slider("oldpeak", min_value=0, max_value=7) slope = st.selectbox("slope", unique_slope) ca = st.slider("ca", min_value=0, max_value=3) thal = st.slider("thal", min_value=0, max_value=3) clicked = st.form_submit_button("Predict Disease") if clicked: result=model.predict(pd.DataFrame({"sex": [sex], "age": [age], "cp": [cp], "trestbps": [trestbps], "chol": [chol], "fbs": [fbs], "restecg": [restecg], "thalach": [thalach], "exang": [exang], "oldpeak": [oldpeak], "slope": [slope_DICT[slope]], "ca": [ca], "thal": [thal] })) result = 'disease' if result[0] == 1 else 'no disease' st.success('The predicted heart disease is {}'.format(result)) if __name__=='__main__': main()