| import gradio as gr |
| import pandas as pd |
| import pickle |
|
|
| |
|
|
| import joblib |
|
|
| model = joblib.load("diabetes_model.pkl") |
|
|
| def predict_diabetes(age, gender, bmi, blood_pressure, fasting_glucose, |
| insulin, hba1c, cholesterol, triglycerides, |
| physical_activity, calories, sugar, |
| sleep_hours, stress_level, family_history, |
| waist): |
|
|
| |
| data = pd.DataFrame([{ |
| "age": age, |
| "gender": gender, |
| "bmi": bmi, |
| "blood_pressure": blood_pressure, |
| "fasting_glucose_level": fasting_glucose, |
| "insulin_level": insulin, |
| "HbA1c_level": hba1c, |
| "cholesterol_level": cholesterol, |
| "triglycerides_level": triglycerides, |
| "physical_activity_level": physical_activity, |
| "daily_calorie_intake": calories, |
| "sugar_intake_grams_per_day": sugar, |
| "sleep_hours": sleep_hours, |
| "stress_level": stress_level, |
| "family_history_diabetes": family_history, |
| "waist_circumference_cm": waist |
| }]) |
|
|
| prediction = model.predict(data) |
|
|
| return prediction[0] |
|
|
|
|
| interface = gr.Interface( |
| fn=predict_diabetes, |
| inputs=[ |
| gr.Number(label="Age"), |
| gr.Dropdown(["Male", "Female"], label="Gender"), |
| gr.Number(label="BMI"), |
| gr.Number(label="Blood Pressure"), |
| gr.Number(label="Fasting Glucose Level"), |
| gr.Number(label="Insulin Level"), |
| gr.Number(label="HbA1c Level"), |
| gr.Number(label="Cholesterol Level"), |
| gr.Number(label="Triglycerides Level"), |
| gr.Number(label="Physical Activity Level"), |
| gr.Number(label="Daily Calorie Intake"), |
| gr.Number(label="Sugar Intake (grams/day)"), |
| gr.Number(label="Sleep Hours"), |
| gr.Number(label="Stress Level"), |
| gr.Dropdown(["Yes", "No"], label="Family History Diabetes"), |
| gr.Number(label="Waist Circumference (cm)") |
| ], |
| outputs=gr.Textbox(label="Predicted Diabetes Risk"), |
| title="Diabetes Risk Prediction", |
| description="Enter patient data to predict diabetes risk category" |
| ) |
|
|
| interface.launch() |