Spaces:
Sleeping
Sleeping
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) | |