import pickle import streamlit as st from streamlit_option_menu import option_menu # loading the saved models diabetes_model = pickle.load(open("./models/diabetes_model.sav", "rb")) heart_disease_model = pickle.load(open("./models/heart_disease_model.sav", "rb")) parkinsons_model = pickle.load(open("./models/parkinsons_model.sav", "rb")) # sidebar for navigation with st.sidebar: selected = option_menu( "Multiple Disease Prediction System", ["Diabetes Prediction", "Heart Disease Prediction", "Parkinsons Prediction"], icons=["activity", "heart", "person"], default_index=0, ) # Diabetes Prediction Page if selected == "Diabetes Prediction": # page title st.title("Diabetes Prediction using ML") # getting the input data from the user col1, col2, col3 = st.columns(3) with col1: Pregnancies = st.text_input("Number of Pregnancies") with col2: Glucose = st.text_input("Glucose Level") with col3: BloodPressure = st.text_input("Blood Pressure value") with col1: SkinThickness = st.text_input("Skin Thickness value") with col2: Insulin = st.text_input("Insulin Level") with col3: BMI = st.text_input("BMI value") with col1: DiabetesPedigreeFunction = st.text_input("Diabetes Pedigree Function value") with col2: Age = st.text_input("Age of the Person") # code for Prediction diab_diagnosis = "" # creating a button for Prediction if st.button("Diabetes Test Result"): diab_prediction = diabetes_model.predict( [ [ Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age, ] ] ) if diab_prediction[0] == 1: diab_diagnosis = "The person is diabetic" else: diab_diagnosis = "The person is not diabetic" st.success(diab_diagnosis) # Heart Disease Prediction Page if selected == "Heart Disease Prediction": # page title st.title("Heart Disease Prediction using ML") col1, col2, col3 = st.columns(3) with col1: age = st.text_input("Age") with col2: sex = st.text_input("Sex") with col3: cp = st.text_input("Chest Pain types") with col1: trestbps = st.text_input("Resting Blood Pressure") with col2: chol = st.text_input("Serum Cholestoral in mg/dl") with col3: fbs = st.text_input("Fasting Blood Sugar > 120 mg/dl") with col1: restecg = st.text_input("Resting Electrocardiographic results") with col2: thalach = st.text_input("Maximum Heart Rate achieved") with col3: exang = st.text_input("Exercise Induced Angina") with col1: oldpeak = st.text_input("ST depression induced by exercise") with col2: slope = st.text_input("Slope of the peak exercise ST segment") with col3: ca = st.text_input("Major vessels colored by flourosopy") with col1: thal = st.text_input( "thal: 0 = normal; 1 = fixed defect; 2 = reversable defect" ) # code for Prediction heart_diagnosis = "" # creating a button for Prediction if st.button("Heart Disease Test Result"): heart_prediction = heart_disease_model.predict( [ [ age, sex, cp, trestbps, chol, fbs, restecg, thalach, exang, oldpeak, slope, ca, thal, ] ] ) if heart_prediction[0] == 1: heart_diagnosis = "The person is having heart disease" else: heart_diagnosis = "The person does not have any heart disease" st.success(heart_diagnosis) # Parkinson's Prediction Page if selected == "Parkinsons Prediction": # page title st.title("Parkinson's Disease Prediction using ML") col1, col2, col3, col4, col5 = st.columns(5) with col1: fo = st.text_input("MDVP:Fo(Hz)") with col2: fhi = st.text_input("MDVP:Fhi(Hz)") with col3: flo = st.text_input("MDVP:Flo(Hz)") with col4: Jitter_percent = st.text_input("MDVP:Jitter(%)") with col5: Jitter_Abs = st.text_input("MDVP:Jitter(Abs)") with col1: RAP = st.text_input("MDVP:RAP") with col2: PPQ = st.text_input("MDVP:PPQ") with col3: DDP = st.text_input("Jitter:DDP") with col4: Shimmer = st.text_input("MDVP:Shimmer") with col5: Shimmer_dB = st.text_input("MDVP:Shimmer(dB)") with col1: APQ3 = st.text_input("Shimmer:APQ3") with col2: APQ5 = st.text_input("Shimmer:APQ5") with col3: APQ = st.text_input("MDVP:APQ") with col4: DDA = st.text_input("Shimmer:DDA") with col5: NHR = st.text_input("NHR") with col1: HNR = st.text_input("HNR") with col2: RPDE = st.text_input("RPDE") with col3: DFA = st.text_input("DFA") with col4: spread1 = st.text_input("spread1") with col5: spread2 = st.text_input("spread2") with col1: D2 = st.text_input("D2") with col2: PPE = st.text_input("PPE") # code for Prediction parkinsons_diagnosis = "" # creating a button for Prediction if st.button("Parkinson's Test Result"): parkinsons_prediction = parkinsons_model.predict( [ [ fo, fhi, flo, Jitter_percent, Jitter_Abs, RAP, PPQ, DDP, Shimmer, Shimmer_dB, APQ3, APQ5, APQ, DDA, NHR, HNR, RPDE, DFA, spread1, spread2, D2, PPE, ] ] ) if parkinsons_prediction[0] == 1: parkinsons_diagnosis = "The person has Parkinson's disease" else: parkinsons_diagnosis = "The person does not have Parkinson's disease" st.success(parkinsons_diagnosis)