sid570's picture
Update app.py
3b48cae verified
Raw
History Blame Contribute Delete
944 Bytes
import gradio as gr
import joblib
import numpy as np
BUNDLE_PATH = "RF_bundle_40_diseases.pkl"
bundle = joblib.load(BUNDLE_PATH)
model = bundle["model"]
symptoms = bundle["features"]
def predict_disease(selected_symptoms):
if not selected_symptoms:
return "Please select at least one symptom."
input_vector = np.zeros(len(symptoms))
for symptom in selected_symptoms:
if symptom in symptoms:
index = symptoms.index(symptom)
input_vector[index] = 1
prediction = model.predict([input_vector])
return prediction[0]
demo = gr.Interface(
fn=predict_disease,
inputs=gr.Dropdown(
choices=symptoms,
label="Type and Select Symptoms",
multiselect=True,
filterable=True # Enables auto-search
),
outputs="text",
title="Disease Detection System",
description="Start typing a symptom and select from suggestions."
)
demo.launch()