Learnix-AI-Lab's picture
Upload app.py with huggingface_hub
27af7ce verified
Raw History Blame Contribute Delete
1.16 kB
import gradio as gr
import joblib
import numpy as np
# Load assets
model = joblib.load('diabetes_model.joblib')
scaler = joblib.load('scaler.joblib')
def predict_diabetes(pregnancies, glucose, bp, skin, insulin, bmi, dpf, age):
features = np.array([[pregnancies, glucose, bp, skin, insulin, bmi, dpf, age]])
features_scaled = scaler.transform(features)
prediction = model.predict(features_scaled)[0]
probability = model.predict_proba(features_scaled)[0]
label = 'Diabetic' if prediction == 1 else 'Non-Diabetic'
conf = probability[1] if prediction == 1 else probability[0]
return f'{label} ({conf:.2%})'
inputs = [
gr.Number(label='Pregnancies'),
gr.Number(label='Glucose'),
gr.Number(label='Blood Pressure'),
gr.Number(label='Skin Thickness'),
gr.Number(label='Insulin'),
gr.Number(label='BMI'),
gr.Number(label='Diabetes Pedigree Function'),
gr.Number(label='Age')
]
interface = gr.Interface(
fn=predict_diabetes,
inputs=inputs,
outputs='text',
title='Diabetes Risk Predictor',
description='Optimized Random Forest model for diabetes classification.'
)
interface.launch()