test / app.py
shimaa22's picture
Update app.py
35ee2c7 verified
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):
# تجهيز الداتا في DataFrame
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()