import streamlit as st import joblib import pandas as pd # Custom CSS st.markdown( """ """, unsafe_allow_html=True ) # Load models model = joblib.load("lr_model.joblib") encoder = joblib.load("encoder_d.joblib") scaler = joblib.load("scaler.joblib") # Title st.title("🔍 Smart Diabetes Risk Assessment System") st.write("Provide the following details to assess risk factors for diabetes.") # Input columns col1, col2, col3 = st.columns(3) with col1: bmi = st.number_input("Body Mass Index (BMI):", 10.0, 50.0, step=0.1) family_history = st.selectbox("Family History of Diabetes:", encoder["Family_History"].classes_) family_history = encoder["Family_History"].transform([family_history])[0] fasting_blood_sugar = st.number_input("Fasting Blood Sugar (mg/dL):", 50, 300, step=1) hba1c = st.number_input("HBA1C (%):", 3.0, 15.0, step=0.1) age = st.number_input("Age (years):", 1, 100, step=1) with col2: physical_activity = st.selectbox("Physical Activity Level:", encoder["Physical_Activity"].classes_) physical_activity = encoder["Physical_Activity"].transform([physical_activity])[0] postprandial_blood_sugar = st.number_input("Postprandial Blood Sugar (mg/dL):", 50, 400, step=1) waist_hip_ratio = st.number_input("Waist-to-Hip Ratio:", 0.5, 2.0, step=0.01) vitamin_d_level = st.number_input("Vitamin D Level (ng/mL):", 5.0, 100.0, step=0.1) with col3: diet_type = st.selectbox("Diet Type:", encoder["Diet_Type"].classes_) diet_type = encoder["Diet_Type"].transform([diet_type])[0] stress_level = st.selectbox("Stress Level:", encoder["Stress_Level"].classes_) stress_level = encoder["Stress_Level"].transform([stress_level])[0] glucose_tolerance = st.number_input("Glucose Tolerance Test Result (mg/dL):", 50, 300, step=1) c_protein_level = st.number_input("C-Reactive Protein Level (mg/L):", 0.1, 20.0, step=0.1) cholesterol_level = st.number_input("Cholesterol Level (mg/dL):", 100, 400, step=1) # Prediction logic values = [bmi, family_history, physical_activity, diet_type, stress_level, fasting_blood_sugar, postprandial_blood_sugar, hba1c, waist_hip_ratio, glucose_tolerance, age, vitamin_d_level, c_protein_level, cholesterol_level] if st.button("Submit"): scaled_values = scaler.transform([values]) prediction = model.predict(scaled_values) if prediction[0] == 1: st.markdown( '