# -*- coding: utf-8 -*- """ Created on Sun May 22 11:53:51 2022 @author: siddhardhan """ import pickle import streamlit as st from streamlit_option_menu import option_menu # loading the saved models diabetes_model = pickle.load(open('./diabetes_model.sav', 'rb')) heart_disease_model = pickle.load(open('./heart_disease_model.sav','rb')) parkinsons_model = pickle.load(open('./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)