StrokeDetection / app.py
ikhlasulakmalh's picture
Update app.py
aec1c32
raw
history blame
2.07 kB
import streamlit as st
import pandas as pd
import joblib # Import joblib for loading the classifier
# Define a dictionary to map user-friendly labels to integers
labels_to_int = {
"Female": 0,
"Male": 1,
"Yes": 1,
"No": 0,
"Never worked": 0,
"Children": 1,
"Government job": 2,
"Self-employed": 3,
"Private": 4,
"Urban": 0,
"Rural": 1,
"No Stroke": 0,
"Stroke": 1,
"ever had": 1,
"never had": 0,
"married": 1,
"single": 0,
"never smoked": 0,
"smokes": 1
}
st.title("Stroke Detection")
sex = st.radio("Sex", ["Female", "Male"])
age = st.number_input("Age", min_value=0)
hypertension = st.selectbox("Do you have hypertension?", ["No", "Yes"])
heart_disease = st.selectbox("Do you have heart disease?", ["No", "Yes"])
ever_married = st.selectbox("Have you ever been married?", ["No", "Yes"])
work_type = st.selectbox("What is your work type?", ["Never worked", "Children", "Government job", "Self-employed", "Private"])
residence_type = st.selectbox("What is your residence type?", ["Urban", "Rural"])
avg_glucose_level = st.number_input("Average Glucose Level", min_value=0.0)
bmi = st.number_input("BMI", min_value=0.0)
smoking_status = st.selectbox("What is your smoking status?", ["never smoked", "smokes"])
submit_button = st.button("Submit")
if submit_button:
data = {
"sex": labels_to_int[sex],
"age": age,
"hypertension": labels_to_int[hypertension],
"heart_disease": labels_to_int[heart_disease],
"ever_married": labels_to_int[ever_married],
"work_type": labels_to_int[work_type],
"Residence_type": labels_to_int[residence_type],
"avg_glucose_level": avg_glucose_level,
"bmi": bmi,
"smoking_status": labels_to_int[smoking_status]
}
df = pd.DataFrame([data])
# Unpickle classifier
clf = joblib.load("stroke.pkl")
# Get prediction
prediction = clf.predict(df)[0]
# Output prediction
if prediction == 0:
st.text("No Stroke")
else:
st.text("Stroke")