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